یکی مسائلی که هیچ وقت اهمیت خود را در حوزه اینترنت و وبسایت ها از دست نخواهد داد، امنیت است. در خصوص امنیت وبسایت ها بارها مطالب مختلفی تولید شده که هر کدام به جنبه های مختلفی اشاره دارند؛ پس شاید این موضوع برای کاربران وبسایت ها نیز قابل درک بوده و بتوانند با شناسایی وبسایت های امن از غیر امن، برای دریافت خدمات انتخاب های گزیده تری اتخاذ کنند.
یکی از راه هایی که می توانید به کاربران خود امنیت بالای سایت خود را نشان دهید، استفاده از HTTPS است. این پروتکل روشی امن تر برای رد و بدل کردن اطلاعات رمزنگاری شده بین مرورگر بازدیدکنندگان و سرور سایت شماست.
برای داشتن HTTPS، می بایست گواهی SSL یا TLS خریداری کنید، که ثابت می کنند وبسایت شما امن است.
در این مطلب به چیستی TLS و نحوه عملکرد آن اشاره خواهیم کرد.
TLS چیست؟
امنیت لایه انتقال (Transport Layer Security) یا TLS یک پروتکل پیشرفته است که برای ارتقای حریم خصوصی و امنیت داده ها در ارتباطات اینترنتی طراحی شده است. یکی از اولین کاربردهای TLS رمزنگاری ارتباطات بین وب اپلیکیشن ها و سرورهاست، مثل مرورگرهای وبی که یک وبسایت را لود می کنند. TLS می تواند برای رمزنگاری سایر ارتباطات نظیر ایمیل ها، پیام رسانی، و VoIP نیز مورد استفاده قرار گیرد.
TLS توسط IETF ( یک سازمان استاندارد بین المللی ) معرفی و اولین نسخه آن در سال 1999 منتشر شد. جدیدترین نسخه آن نیز TLS 1.3 می باشد که در سال 2018 منتشر شده است.
از ژانویه 1999، TLS آپدیت های زیادی را به خود دیده که برای مثال از TLS 1.2 تا TLS 1.3 پیشرفت های چشم گیری در عملکرد و امنیت آن ایجاد شده است.
اگر با مفاهیم فنی آشنایی زیادی نداشته باشید، شاید دو عبارت SSL و TLS برایتان گنگ به نظر آیند؛ به زبان ساده، اینها گواهینامه هایی هستند که شما برای برقراری ارتباطات امن تر و رمزنگاری شده بین مرورگرها و وب سرورها، به سایت تان اضافه می کنید.
زمانی که شما از سایتی بازدید می کنید که با SSL یا TLS از اتصال معتبر استفاده می کند، می توانید از این امر اطمینان حاصل کنید که تنها آن سایت بخصوص می توانید داده هایی که ارسال می کنید را دریافت کرده و به آنها دسترسی پیدا کند.
تفاوت بین TLS و SSL در چیست؟
SSL در واقع یک متصدی پیشین برای TLS بوده و این روزها دیگر قدیمی و ناامن شناخته می شود. ولی با این حال، SSL اغلب شناخته شده تر از TLS بوده و شاید در بیشتر مواقع زمانی که از گواهی امنیتی نام برده می شود، همه SSL را بشناسند.
نسخه TLS 1.0 در واقع قرار بود که به عنوان ورژن SSL 3.1 توسعه یافته و معرفی شود؛ اما نام آن به این دلیل تغییر یافت که نشان دهد دیگر با Netscape رابطه ای ندارد.
تفاوت این دو گواهی بسیار ناچیز است اما می توان به الگوریتم های رمزنگاری قوی تر و توانایی کارکرد با پورت های مختلف در TLS اشاره کرد. اما شاید این نکته برایتان مهم باشد که در آینده پیش رو ممکن است برخی از مرورگرها دیگر از SSL پشتیبانی نکنند.
تفاوت بین TLS 1.2 و TLS 1.3
TLS 1.3 نسبت به نسخه های قدیمی تر، پیشرفت های زیادی را ارائه کرده، از جمله Handshake سریعتر و ساده تر، cipher suite های امن تر و غیره.
کلید RTT صفر (0-RTT) پروسه Handshake را به شدت بهینه تر کرده است. در کل این تغییرات عملکرد و امنیت را ارتقا داده است.
رمزنگاری TLS و رمزگشایی SSL به زمان CPU زیادی نیاز داشته و در ارتباطات شبکه ای تاخیر ایجاد می کنند. که به معنای تضعیف عملکرد است. در TLS 1.2 handshake اولیه در یک متن خام اتفاق می افتاد، که به معنای نیاز به رمزنگاری و رمزگشایی آن بود.
به همین دلیل یک handshake ساده شامل 5 تا 7 بسته تبادلی بین کاربر و سرور می شد. اما در نسخه 1.3 رمزنگاری گواهی سرور به صورت پیش فرض مورد تایید بوده و این اجازه را به TLS Handshake می دهد تا با 0 تا 3 بسته کار خود را پیش ببرد. که به بهبود و افزایش سرعت اتصال کمک شایانی می کند.
اما چرا باید کسب و کارها از TLS استفاده کنند؟
استفاده کسب و کارها از پروتکل TLS
رمزنگاری TLS می تواند از وب اپلیکیشن های کسب و کارها در برابر نفوذهای امنیتی و لو رفتن داده ها و صد البته سایر انواع حملات سایبری محافظت کند.
علاوه بر این، HTTPS هایی که توسط TLS محافظت می شوند، به یک استاندارد مهم برای وب سایت ها تبدیل شده اند. برای مثال، مرورگر کروم گوگل در سال گذشته اعلام کرده که دیگر سایت هایی که از HTTPS استفاده نکنند را نمایش نخواهد داد.
بعلاوه روز به روز دانش کاربران در این زمینه بیشتر شده و از اهمیت HTTPS برای سایت ها با خبر شده و سایت هایی که ایمن نباشند را به سرعت ترک می کنند.
از لحاظ کسب رتبه در موتورهای جستجو و سئو نیز داشتن HTTPS و TLS می تواند یک فاکتور بسیار مهم تلقی شود. چراکه الگوریتم های گوگل برای رتبه بندی وبسایت ها در صفحات نتایج، امنیت را به عنوان یک عامل مهم محسوب می کنند.
پس با توجه به تمام این موارد، هیچ کسب و کاری نمی خواهد که کاربران و بازدیدکنندگان سایتشان، با دیدن آدرس سایت و پیام های امنیتی برخی مرورگرها، سایت را ترک کرده و یا یک مرحله قبل تر از آن با کسب رتبه های بسیار ضعیف در موتورهای جستجو، نمایشی برای صفحات سایت دریافت نکند.
TLS چکار می کند؟
سه عنصر اصلی وجود دارد که یک پروتکل TLS می تواند برای سایت شما آنها را ممکن سازد:
- رمزنگاری: داده هایی را که در حال انتقال هستند، برای اشخاص دیگر مخفی می کند.
- اعتبارسنجی: از این امر اطمینان حاصل می کند که طرفین ارتباط همان هویتی را دارند که ادعا می کنند.
- درستی: تایید می کند که داده ها جعل نشده و یا در مسیر دستکاری نشده است.
نحوه عملکرد TLS
وبسایت یا اپلیکیشنی که قصد استفاده از TLS را دارد، باید یک گواهینامه TLS بر روی سرور اصلی خود نصب کند. یک گواهی TLS توسط یک سازمان مجاز ارائه شده و به صاحب دامنه اهدا می شود. این گواهی دارای اطلاعات مهمی نظیر مالک دامنه، کلید عمومی سرور و غیره بوده که همه برای شناسایی و احراز هویت سرور لازم هستند.
یک اتصال TLS با یک فرآیند به نام TLS Handshake آغاز می شود؛ زمانی که یک کاربر درون یک سایت به اصطلاح می چرخد، پروسه TLS Handshake بین دستگاه کاربر و وب سرور سایت شروع می شود.
در حین این Handshake، دستگاه کاربر و وب سرور:
- مشخص می کنند که از کدام نسخه ی TLS استفاده خواهند کرد.
- تصمیم می گیرند که از کدام Cipher suite استفاده خواهند کرد.
- با استفاده از گواهی TLS وب سرور، دستگاه کاربر هویت ان را تایید می کند.
- برای رمزنگاری پیام های بین خود بعد از تکمیل Handshake کلید های سشن یا session key تولید می کنند.
TLS Handshake برای هر سشن ارتباطی یک cipher suite تاسیس می کند. منظور از cipher suite دسته از الگوریتم هایی است که جزئیاتی مثل کلیدهای رمزنگاری مورد استفاده در هر سشن، را مشخص می کنند.
TLS قادر است تا کلیدهای سشن متناظر را بر روی یک کانال رمزنگاری نشده نیز تنظیم کند؛ این Handshake علاوه بر این موارد، مسائل مربوط به اعتبارسنجی را نیز انجام می دهد. که در طی آن سرور هویت خود را برای کلاینت اثبات می کند.
این کار به کمک کلید های عمومی امکان پذیر است، که برای رمزنگاری یک طرفه مورد استفاده قرار می گیرند. یعنی هر کسی که کلید عمومی را در اختیار داشته باشد می تواند داده هایی را که توسط کلید خصوصی سرور رمزنگاری شده اند، مشاهده کند.
اما فقط ارسال کننده اصلی می تواند داده ها را با کلید خصوصی رمزنگاری کند. این کلید عمومی سرور در گواهینامه TLS قابل مشاهده است.
پس از اینکه داده ها رمزنگاری شده و مورد تایید قرار گرفتند، با یک پیام حاوی کد اعتبار سنجی، امضا می شوند (MAC)؛ سپس دریافت کننده می تواند با این MAC از صحت هویت داده ها اطمینان حاصل کند.
از کجا می تواند متوجه وجود TLSو SSL شد؟
قبل از هر چیز باید مطمئن شوید که سایت شما یک گواهی SSL/TLS معتبر دارد یا نه! خوشبختانه این فرآیند ساده است.
تنها کاقیست سایت خود را روی هر مرورگری باز کنید و در آدرس بار ، سایت خود را مشاهده کنید. ما در این مثال از گوگل کروم استفاده می کنیم؛ باید ببینیم که قبل از WWW عبارت HTTP ثبت شده یا HTTPS. در ورژن های قدیمی تر مرورگرها در کنار آدرس بار یک آیکن قفل سبز رنگ و عبارت Secure دیده می شد.
اما اگر سایت از SSL/TLS استفاده نمی کرد، این قفل قرمز رنگ می بود. اما ظاهراً در ورژن های جدیدتر، این رنگ بندی ها وجود نداشته و فقط عبارت Secure قابل مشاهده است. مثلا برای یک سایت خارجی با نام dreamhost چنین تصویری دیده می شد:
اما تمام سایت های دارای گواهی SSL/TLS چنین آیکنی را نشان نمی دهند؛ چراکه حضور این آیکن به نوع اعتبار مورد استفاده بستگی دارد. برای مثال برخی از گواهینامه ها تنها یک آیکن طوسی رنگ نمایش می دهند:
این تصویر ممکن است به این معنی باشد که سایت مورد نظر امن نیست، اما با این وجود مرورگر نمی تواند صرفاً این موضوع را تشخیص دهد.
اگر سایت شما عبارت Secure را ندارد، پس زمان آن است که یک گواهی SSL/TLS برای آن تهیه کنید.
البته این احتمال نیز وجود دارد که ممکن است اعتبار آن به پایان رسیده باشد؛ پس برای اطمینان از این موضوع بر روی آیکن اخطار دهنده کلیک و اطلاعات موجود را مطالعه کنید.
در این اطلاعات شما می توانید روی لینک Certificate کلیک کرده و اطلاعات بیشتری کسب کنید، برای مثال در این تصویر می توانیم متوجه شویم که سایت مورد نظر دارای گواهی SSL/TLS بوده اما تاریخ اعتبار آن گذشته است.
چطور می توان یک گواهی TLS دریافت کرد؟
اگر از یک ارائه دهنده شخص ثالث یک گواهینامه SSL یا TLS خریداری کرده اید، تنها کاری که باید انجام دهید این است که آن را به سایت خود متصل کرده و آن را نصب کنید. اگر هنوز این گواهینامه را تهیه نکرده اید، می توانید به بخش گواهینامه SSL در پنل کاربری میزبان کلود خود مراجعه کرده و آن را برای سایت خود نصب کنید.
پس از تهیه گواهینامه SSL/TLS ، اگر یک وبسایت وردپرسی دارید و می خواهید خودتان آن را نصب کنید، کافیست یک افزونه به نام Really Simple SSL را نصب کرده و با اعمال تنظیمات ساده آن، گواهینامه را فعال کنید.
راه دوم فعالسازی این گواهینامه از طریق میزبان کلود است. با فعال کردن پروتکل HTTPSدر پنل میزبان کلود، اطلاعات رد و بدل شده بین کاربر و سرور سایت شما رمزنگاری شده و شخص دیگری امکان دسترسی به این اطلاعات را نخواهد داشت. بنابراین اعتبار و امنیت سایت، هم برای کاربران و هم برای سایت شما به طرز قابل توجهی ارتقا خواهد یافت.
فعالسازی این گواهینامه از طریق میزبان کلود نیز بسیار آسان است؛ کافیست ابتدا دامنه سایت خود را به CDN رایگان میزبان کلود متصل کرده و سپس به بخش تنظیمات HTTPS بروید.
در ادامه می توانید در صورت داشتن گواهینامه SSL/TLS اطلاعات آن را وارد نموده و در غیر این صورت، از گواهینامه SSL/TLS رایگان میزبان کلود استفاده کنید.
به این ترتیب سایت شما به سادگی ایمن شده و از گواهینامه SSL و HSTS استفاده خواهد کرد. اگر قصد استفاده از TLS را نیز داشته باشید، به سادگی می توانید آن را به کمک همان صفحه میزبان کلود، فعال کنید.
برای اینکار کافیست با تنظیم یک نسخه TLS مشخص و تعیین حداقل نسخه مجاز برای برقراری ارتباط کاربر با سرور ( برای مثال TLSv1.1 )، از امن بودن اطلاعات تبادلی بین کاربر و سرور اطمینان حاصل کنید.
جمع بندی
امنیت سایت یکی از ضروری ترین فاکتورهایی است که برای هر کسب و کار آنلاینی اهمیت بسیار بالایی دارد؛ دلیل این اهمیت را نیز در این مطلب مفصل بررسی کردیم و به این نتیجه رسیدیم که برای نگهداشت بازدیدکنندگان و جلب رضایت الگوریتم های خزندگان موتورهای جستجو، داشتن گواهینامه SSL و TLS یک ضرورت است.
در این مطلب سعی شد تا با چیستی، نحوه عملکرد و مزایای TLS آشنا شده و روش پیکربندی این گواهینامه امنیتی را برای شما شرح دهیم. امیدواریم این مطلب برایتان مفید واقع شده باشد.
ارائه دهنده خدمات زیرساخت یکپارچه ابری