در پنل CDN ابر آروان همواره امکان دریافت سرتیفیکیت رایگان وجود داشته است و کاربران در کنار دریافت سرتیفیکیت آروان امکان آپلود سرتیفیکیت دلخواهشان را نیز دارند. از آنجایی که ابر آروان از سرتیفیکیتهای Let’s Encrypt برای دامنههای ثبت شده بر روی CDN بهره میبرد و اعتبار این سرتیفیکیتها سه ماه است، ابر آروان هر سه ماه یکبار اقدام به تمدید خودکار آن میکند.
در شکل زیر قسمت تنظیمات HTTPS در پنل CDN را میبینید.
دو مدل گواهینامه بهوسیله Let’s Encrypt ارایه میشود: RSA و ECDSA. سرتیفیکیتی که ابر آروان در گذشته برای وبسایتها فعال میکرد از نوع RSA بود که به دلیل برتریهای فنی ECDSA، از شهریور ۱۳۹۹سرتیفیکیت CDN آروان نیز به این مدل ارتقا پیدا کرد.
اگر شرکت Let’s Encrypt در گواهینامههای صادر شده خود تغییراتی اعمال کند، کاربران CDN ابر آروان نیز از آن متاثر خواهند شد. به تازگی این شرکت اعلام کرده، تصمیم دارد تاریخ آپدیت سرتیفیکیت میانی (Intermediate Certificate) خود را از تاریخ ۱ سپتامبر ۲۰۲۱ به تاریخ ۱۱ ژانویه ۲۰۲۱ تغییر دهد. در ادامه به معرفی سرتیفیکیتهای Let’s Encrypt و به همراه دلیل این موضوع راهکار ابر آروان برای آن را بررسی میکنیم.
ساختار و تغییرات جدید سرتیفیکتهای Let’s Encrypt
شرکت Let’s Encrypt از چندین سال قبل امکان دریافت سرتیفیکیتهای TLS را برای وبسایتها بهشکل رایگان فراهم کرده و تنها محدودیت آن بازه اعتبار ۳ ماهه آنهاست. البته همانطور که اشاره شد پس از ۳ ماه امکان تمدید خودکار این سرتیفیکیتها وجود دارد.
زمانی که یک CA(Certificate Authority) جدید وارد دنیای وب میشود، انتظار میرود که بهوسیلهی کاربران زیادی مورد استفاده قرار گیرد. اما برای رسیدن به این هدف با یک چالش جدی مواجه میشود. برای این که برای کاربران مفید باشد و عده زیادی بتوانند از آن استفاده کنند لازم است سرتیفیکت ریشهی (Root Certificate) آن CA، بهوسیلهی سیستمعاملها و مرورگرهای مختلف مورد پذیرش (Trusted) قرار گیرد. اما قبول کردن یک سرتیفیکیت ریشه از سمت سیستمها و مرورگرها، ممکن است سالها زمان ببرد و همچنین سالهای بیشتری نیاز است تا کاربران، سیستمعاملها و مرورگرهای خود را به نسخههای جدیدی که شامل این تغییرات است بهروزرسانی کنند.
راه حل این مشکل چیست؟ یک CA جدید از یک CA فعلی و نصب شده بر روی سیستم عامل درخواست Cross-Signature و یا امضای متقابل میکند تا به سرعت از جانب تعداد زیادی از دستگاهها مورد پذیرش قرار گیرد. در واقع به جای نصب سرتیفیکیت ریشه خود از یک CA نصب شده کسب مجوز میکند تا زمانی که پس از گذشت سالها، کاربران به نسخههای جدید آپگرید کنند و بهشکل پیشفرض روی سیستم خود سرتیفیکیت جدید را نصب داشته باشند. در واقع به جای کسب مجوز از سیستم عامل، از CA که مورد اعتماد سیستم عامل است کسب مجوز میکند.
زمانی که Let’s Encrypt بهعنوان یکی از بزرگترین شرکتهای فعلی ارایهدهندهی سرتیفیکتهای رمزنگاری TLS پنج سال پیش وارد عرصهی دنیای اینترنت شد از این روش برای گسترش خود بهره برد. این شرکت از شرکت IdenTrust درخواست Cross-Signature کرد و مورد پذیرش نیز قرار گرفت. با این کار سرتیفیکیتهای تولید شده از طرف Let’s Encrypt بهوسیلهی دستگاههای بسیاری مورد پذیرش قرار گرفت. سرتیفیکیت شرکت IdenTrust به نام «DST Root X3» برای مدت زیادی در دستگاههای مختلف حضور داشت و هم اکنون نیز از سمت بسیاری از سیستمعاملها و مرورگرها امن شناخته میشود.
در کنار این Cross-Signature شرکت Let’s Encrypt شروع به ارایه و نصب سرتیفیکیت ریشهی خود به اسم «ISRG Root X1» در بسیاری از سیستمعاملها و مرورگرها کرد تا بتواند در آینده از سرتیفیکیت ریشه خود استفاده کند.
در شکل زیر ساختار سرتیفیکیتهای Root و Intermediate و User شرکت Let’s Encrypt قابل مشاهده است.
اکنون سرتیفیکیت ریشهی شرکت Let’s Encrypt در بسیاری از سیستمعاملها و مرورگرها بهشکل پیش فرض نصب شده اما سرتیفیکیت «DST Root X3» در حال منقضی شدن تا تاریخ ۱ سپتامبر ۲۰۲۱ است. بنابر این شرکت Let’s Encrypt تصمیم گرفته روی پای خود بایستد و از سرتیفیکیت ریشهی خودش استفاده کند.
این موضوع میتواند مشکلاتی را ایجاد کند. برخی از نرمافزارها و سیستمعاملها از سال 2016 به روز رسانی نشدهاند (در این بازهی زمانی سرتیفیکیتهای خود Let’s Encrypt در نسخههای جدید معرفی و به صورت پیشفرض نصب شده است) و این تجهیزات قدیمی به سرتیفیکیتهای جدید Let’s Encrypt به اسم «ISRG Root X1» اعتماد ندارند(بر روی آنها نصب نشده است). این موضوع شامل سیستمعامل اندروید نسخهی ۷.۱.۱ و ماقبل هم میشود و به این معنی است که گوشیهای موبایل با نسخهی اندروید ماقبل ۷.۱.۱ به سرتیفیکیتهای جدید امضا شده از سمت Let’s Encrypt اعتماد ندارند.
به دلیل مشکلات مربوط به آپگرید نسخههای اندروید و دخیل بودن سازندهی دستگاه و همچنین گوگل به عنوان توسعه دهنده اندروید، در فرآیند آپگرید، اکنون بسیاری از موبایلهای اندرویدی همچنان از نسخههای قدیمیتر از ۷.۱.۱ استفاده میکنند. طبق آمار جهانی هنوز حدود ۳۳.۸٪ کاربران از نسخههای اندروید قدیمیتر از ۷.۱.۱ استفاده میکنند و در صورت استفادهی وبسایتها از نسخه جدید، سرتیفیکیتهای Let’s Encrypt با خطا مواجه خواهند شد. طبق برآوردها این تعداد کاربران بین ۱ تا ۵درصد ترافیک را مصرف میکنند.
از تاریخ ۱۱ ژانویه ۲۰۲۱ تغییراتی در API شرکت Let’s Encrypt داده میشود و با این تغییرات کلاینتهای ACME (مانند CertBot) که وظیفهی دریاف سرتیفیکیت و یا تمدید سرتیفیکیتهای قدیمی را بر عهده دارند، سرتیفیکیتهایی را دریافت خواهند کرد که با نسخهی جدید یعنی «ISRG Root X1» امضا شده باشند.
شرکت Let’s Encrypt این امکان را فرآهم کرده است که کلاینتهای ACME که وظیفه دریافت و یا تمدید سرتیفیکیتها را بر عهده دارند پس از تاریخ ۱۱ ژانویه ۲۰۲۱ برای پشتیبانی طولانیتر تا ۱ سپتامبر ۲۰۲۱ هم بتوانند از سرتیفیکیتهای جایگزین استفاده کنند (نسخه قدیمیتر DST Root X3).
تغییرات سرتیفیکیت ابر آروان پس از تاریخ ۱۱ ژانویه ۲۰۲۱
ما در ابر آروان تا تاریخ ۱ سپتامبر ۲۰۲۱ که تاریخ قطعی منقضی شدن سرتیفیکیتهای قدیمی است همچنان از نسخه جایگزین ارایه شده بهوسیلهی Let’s Encrypt استفاده میکنیم تا کاربران اندروید دستگاههای قدیمیتر با مشکلی مواجه نشوند. اما از این تاریخ به بعد این سرتیفیکیتهای میانی منقضی خواهند شد.
شما بهعنوان صاحب وبسایت میتوانید کاربرانتان را تشویق به آپگرید نسخه جدید اندروید و یا نصب مرورگر فایرفاکس روی گوشیهای موبایل کنید.
در مورد اپلیکیشنها این مساله کمی پیچیدهتر است. اگر تعداد کاربران اپلیکیشن اندروید شما که از نسخههای ماقبل ۷.۱.۱ استفاده میکنند تعداد قابل توجهی باشند و همچنان میخواهید از سرتیفیکیت Let’s Encrypt استفاده کنید، شاید یک راه، استفاده از سرتیفیکیت ریشهی درون خود برنامه است. البته توجه داشته باشید که شما همواره میتوانید سرتیفیکیت دلخواهتان را در پنل CDN ابر آروان آپلود کنید. برای بررسی بیشتر این موضوع میتوانید اینجا و اینجا را مشاهده کنید.
جمعبندی
تا تاریخ ۲۱ سپتامبر ۲۰۲۱ هیچگونه اختلالی در ارتباط HTTPS با وبسایتهایی که از سرتیفیکیت ابرآروان استفاده میکنند ایجاد نخواهد شد. پس از این تاریخ کاربرانی که از نسخه اندروید ماقبل ۷.۱.۱ استفاده میکنند با خطا و اخطار مبنی بر منقضی شدن سرتیفیکیت در گوشیهای اندروید مواجه خواهند شد.