امنیت HTTPS در مرورگر برتینا؛ گواهی‌های ریشه، SSL دوگانه و پاسخ به پرسش‌های فنی

· برتینا

گزارش فنی تیم برتینا

امنیت ارتباطات اینترنتی، به‌ویژه هنگام استفاده از خدمات بانکی، پرداخت آنلاین و سامانه‌های حساس، از مهم‌ترین معیارهای ارزیابی یک مرورگر است. یکی از اجزای اصلی این امنیت، نحوه اعتبارسنجی گواهی‌های دیجیتال و مدیریت مراجع صدور گواهی یا Certificate Authority است.

در پی انتشار برخی مطالب و پرسش‌های رسانه‌ای، از جمله یادداشت «جای خالی امنیت» در روزنامه شرق، ابهاماتی درباره گواهی‌های ریشه مورد اعتماد مرورگر برتینا و پیامدهای امنیتی آن‌ها مطرح شده است.

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

این گزارش با هدف توضیح معماری امنیت HTTPS در مرورگر برتینا، معرفی گواهی‌های ریشه، تشریح فناوری SSL دوگانه و ارائه اطلاعات قابل راستی‌آزمایی منتشر می‌شود.

در ابتدا باید میان سه مفهوم تفاوت قائل شد:

  1. اعتماد یک مرورگر به مرجع صدور گواهی؛
  2. امکان بالقوه سوءاستفاده از یک مرجع صدور مورد اعتماد؛
  3. وقوع واقعی شنود یا رهگیری ارتباطات کاربران.

این سه مفهوم یکسان نیستند و نتیجه‌گیری درباره هرکدام نیازمند شواهد متفاوتی است.

۱. مرورگر برتینا و معماری امنیتی Chromium

مرورگر برتینا بر پایه پروژه متن‌باز Chromium توسعه یافته است؛ پروژه‌ای که زیرساخت مرورگرهایی مانند Google Chrome و Microsoft Edge را نیز تشکیل می‌دهد.

برتینا یک مرورگر مستقل مبتنی بر Chromium است و از موتور پردازش وب، سازوکارهای اعتبارسنجی TLS، قابلیت‌های امنیتی مرورگر و چرخه انتشار این پروژه بهره می‌برد.

توسعه برتینا بر مبنای شاخه‌های پایدار Chromium انجام می‌شود و به‌روزرسانی‌های محصول با انتشار نسخه‌های پایدار این پروژه هماهنگ است.

برای نمونه، در زمان انتشار این گزارش:

رویدادتاریخنسخه
انتشار Chrome 157 در کانال پایدار۱۲ آبان ۱۴۰۵، برابر با ۳ نوامبر ۲۰۲۶شاخه 157
انتشار نسخه جدید مرورگر برتینا۱۵ آبان ۱۴۰۵157.0.8103.100

گوگل در اطلاعیه انتشار Chrome 157 اعلام کرده است که این نسخه شامل ۲۱۳ اصلاحیه امنیتی است.

منابع:

۲. گواهی ریشه چیست و چرا اهمیت دارد؟

هنگامی که کاربر به یک سایت HTTPS متصل می‌شود، مرورگر باید هویت سایت و اعتبار گواهی ارائه‌شده را بررسی کند.

گواهی سایت معمولاً توسط یک مرجع صدور گواهی صادر می‌شود و اعتبار آن از طریق زنجیره‌ای از گواهی‌ها تا یک مرجع ریشه مورد اعتماد بررسی می‌شود.

این فرایند دو هدف اصلی دارد:

  • اطمینان از اعتبار هویت دامنه‌ای که کاربر به آن متصل شده است؛
  • برقراری ارتباط رمزگذاری‌شده با همان مقصد.

مرورگرها برای این کار مجموعه‌ای از مراجع صدور گواهی مورد اعتماد دارند.

افزودن یک مرجع صدور جدید به این مجموعه، به‌خودی‌خود به معنای حذف رمزنگاری HTTPS یا انجام شنود نیست. اما یک تصمیم مهم امنیتی محسوب می‌شود؛ زیرا دامنه اعتماد مرورگر را تغییر می‌دهد.

به همین دلیل، شفافیت درباره گواهی‌های افزوده‌شده، کاربرد آن‌ها و نحوه اعتبارسنجی‌شان ضروری است.

۳. گواهی‌های ریشه مورد استفاده در برتینا

در مرورگر برتینا، علاوه بر مراجع اعتماد متداول Chromium، دو گواهی ریشه با کاربردهای مشخص مورد استفاده قرار گرفته‌اند.

۳.۱. گواهی ریشه ملی

نام این گواهی:

Islamic Republic of Iran Root CA-G3

برخی سامانه‌های داخلی از زنجیره‌های صدور گواهی استفاده می‌کنند که در مخزن اعتماد پیش‌فرض مرورگرهای بین‌المللی وجود ندارند.

در چنین شرایطی، حتی اگر گواهی از نظر ساختار رمزنگاری صحیح باشد، ممکن است مرورگر به دلیل ناشناخته‌بودن مرجع صادرکننده، خطای اعتبارسنجی نمایش دهد.

برتینا برای پشتیبانی از این گروه از وب‌سایت‌ها، گواهی ریشه مربوطه را در مخزن اعتماد خود مرورگر قرار داده است.

بر اساس مستندات رسمی محصول:

  • این گواهی متعلق به مرکز صدور گواهی الکترونیکی ریشه کشور است.
  • کلید خصوصی آن در اختیار شرکت برتینا نیست.
  • برتینا با استفاده از این گواهی نمی‌تواند گواهی جدید صادر کند.
  • اعتماد به این گواهی در داخل مرورگر برتینا اعمال می‌شود و مستلزم نصب آن در مخزن اعتماد سیستم‌عامل نیست.

اثر انگشت SHA-256:

AA:7F:F6:37:D0:61:29:5A:6A:00:3E:9D:66:21:A5:4F:47:80:BA:E7:AE:F9:60:43:A7:1B:7C:2A:F2:76:D5:56

این اطلاعات در صفحه رسمی دانلود مرورگر برتینا منتشر شده‌اند.

۳.۲. گواهی Bertina Root CA

گواهی دوم با نام Bertina Root CA مربوط به زیرساخت نمایشی صدور گواهی برتیناست.

کاربرد این زیرساخت، نمایش فناوری SSL دوگانه است؛ قابلیتی که به یک سایت اجازه می‌دهد دو مسیر اتصال HTTPS با زنجیره‌های صدور گواهی متفاوت داشته باشد.

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

  • bertinassl.ir
  • bertinaiwm.ir

و هیچ گواهی SSL برای دامنه متعلق به اشخاص ثالث از این زیرساخت صادر نشده است.

این دو دامنه برای نمایش فناوری گواهی دوگانه استفاده می‌شوند.

۴. فناوری گواهی SSL دوگانه در برتینا چگونه کار می‌کند؟

در یک اتصال متداول HTTPS، مرورگر از طریق DNS آدرس سرور را پیدا می‌کند و سپس اعتبار گواهی TLS ارائه‌شده از سوی آن سرور را بررسی می‌کند.

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

برای نمونه، دامنه bertinassl.ir در دو مسیر آزمایش‌شده رفتار متفاوتی دارد:

ویژگیمسیر استانداردمسیر آزمایشی برتینا
دامنهbertinassl.irbertinassl.ir
آدرس IP193.186.32.156193.186.32.40
مرجع صدور گواهیLet's EncryptBertina Issuing CA
زنجیره اعتمادزنجیره عمومی Let's Encryptزنجیره Bertina Root CA
مسیر انتخاب آدرسDNS عمومیDNS اختصاصی برتینا

همین الگو برای دامنه bertinaiwm.ir نیز پیاده‌سازی شده است.

در مسیر استاندارد، مرورگرهای معمولی از طریق DNS عمومی به سروری متصل می‌شوند که گواهی Let's Encrypt ارائه می‌کند.

در مسیر آزمایشی برتینا، DNS اختصاصی برتینا آدرس دیگری را برای همین دامنه برمی‌گرداند. سرور دوم گواهی صادرشده از زیرساخت PKI برتینا را ارائه می‌کند.

نتیجه، نمایش یک سایت واحد با دو زنجیره گواهی متفاوت است.

آیا محتوای دو مسیر متفاوت است؟

در بررسی فنی انجام‌شده روی دو دامنه آزمایشی، پاسخ صفحه اصلی در هر دو مسیر یکسان گزارش شده است.

همچنین هر چهار اتصال آزمایش‌شده از TLS 1.3 استفاده کرده‌اند.

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

این سازوکار در دو دامنه متعلق به برتینا پیاده‌سازی شده و به‌عنوان نمونه‌ای قابل مشاهده برای بررسی فناوری گواهی دوگانه معرفی می‌شود.

۵. زنجیره گواهی‌های آزمایشی برتینا

زنجیره گواهی در مسیر آزمایشی شامل سه سطح است:

  1. Bertina Root CA

    مرجع ریشه

  2. Bertina Issuing CA

    مرجع صدور واسط

  3. گواهی وب‌سایت

    دامنهٔ آزمایشی

در این ساختار:

  • Bertina Root CA مرجع ریشه است.
  • Bertina Issuing CA مرجع صدور واسط است.
  • گواهی نهایی برای دامنه آزمایشی صادر می‌شود.

در آزمایش انجام‌شده، امضاهای این زنجیره با OpenSSL و کتابخانه رمزنگاری Python بررسی و معتبر گزارش شده‌اند.

مشخصات دو گواهی وب‌سایت

مشخصهbertinassl.irbertinaiwm.ir
صادرکنندهBertina Issuing CABertina Issuing CA
نوع کلید عمومیRSA 2048RSA 2048
الگوریتم امضاSHA-256 with RSASHA-256 with RSA
کاربردTLS Web Server AuthenticationTLS Web Server Authentication
تاریخ شروع اعتبار۶ سپتامبر ۲۰۲۶۶ سپتامبر ۲۰۲۶
تاریخ پایان اعتبار۵ مارس ۲۰۲۷۵ مارس ۲۰۲۷

گواهی‌های هر دو دامنه، نام اصلی دامنه و نسخه www آن را در بخش Subject Alternative Name پوشش می‌دهند.

اثر انگشت SHA-256 گواهی bertinassl.ir:

1A:DF:0C:D7:F2:DC:6C:5F:2D:8C:AB:58:47:64:0F:D6:28:41:F8:75:C0:A1:C3:49:2E:CB:39:5B:8D:4C:8D:87

اثر انگشت SHA-256 گواهی bertinaiwm.ir:

49:D1:7C:A6:11:F1:A7:4A:BA:C7:98:E5:A9:26:AB:70:CC:98:F6:51:E5:5C:63:A9:14:24:F5:D6:2C:DB:C2:91

اثر انگشت SHA-256 گواهی ریشه زنجیره:

A4:A1:1B:7D:D7:33:EC:04:44:87:F6:95:3E:F6:60:46:E4:7C:73:B4:E5:F0:94:12:20:1F:54:99:8C:70:D5:10

این مشخصات از بررسی زنجیره‌های TLS دو سایت آزمایشی استخراج شده‌اند و امکان مقایسه آن‌ها با گواهی‌های ارائه‌شده توسط سرورها وجود دارد.

آیا گواهی‌های خصوصی باید در Certificate Transparency ثبت شوند؟

الزام عمومی ثبت گواهی در Certificate Transparency، به گواهی‌های صادرشده از مراجع عمومی مورد اعتماد مربوط است.

در مستندات Chromium توضیح داده شده که گواهی‌های صادرشده از ریشه‌های اعتماد خصوصی، الزام مشابهی برای ثبت در لاگ‌های عمومی CT ندارند.

بنابراین نبود یک گواهی خصوصی در لاگ‌های عمومی CT، به‌تنهایی نشان‌دهنده نامعتبر یا مخرب بودن آن نیست.

منبع: مستندات امنیتی Chromium

۶. آیا وجود گواهی ریشه می‌تواند به معنی شنود HTTPS باشد؟

یکی از مهم‌ترین پرسش‌های مطرح‌شده درباره مرورگر برتینا، ارتباط میان افزودن گواهی ریشه و احتمال رهگیری ارتباطات رمزگذاری‌شده است.

پاسخ دقیق نیازمند تفکیک «قابلیت فنی» از «رفتار واقعی» است.

اعتماد به یک گواهی ریشه چه کاری انجام می‌دهد؟

مرورگر با اعتماد به یک CA، امکان اعتبارسنجی زنجیره‌هایی را فراهم می‌کند که به آن مرجع ختم می‌شوند.

اما خودِ افزودن گواهی ریشه:

  • ترافیک شبکه را به مقصد دیگری منتقل نمی‌کند؛
  • به‌تنهایی محتوای ارتباطات TLS را رمزگشایی نمی‌کند؛
  • به معنی فعال‌شدن یک پراکسی شنود نیست؛
  • وقوع حمله مرد میانی یا MITM را ثابت نمی‌کند.

برای رهگیری عملی یک ارتباط HTTPS، عوامل دیگری نیز لازم‌اند؛ از جمله قرارگرفتن در مسیر ارتباط و ارائه گواهی‌ای که مرورگر آن را معتبر تشخیص دهد.

نکته کلیدی این است که وجود امکان نظری سوءاستفاده، معادل اثبات وقوع سوءاستفاده نیست.

برتینا هیچ سازوکار شنود ارتباطات HTTPS کاربران را اجرا نکرده و نمی‌کند.

در نمونه‌های بررسی‌شده SSL دوگانه نیز دو دامنه آزمایشی متعلق به شرکت مورد استفاده قرار گرفته‌اند. ارائه گواهی‌های متفاوت برای این دامنه‌های آزمایشی، به‌خودی‌خود شاهدی از شنود ارتباطات کاربران با سایت‌های دیگر نیست.

۷. کاربران چگونه می‌توانند مرجع صادرکننده گواهی را مشاهده کنند؟

یکی از قابلیت‌های مرورگر برتینا، نمایش اطلاعات گواهی امنیتی سایت در رابط کاربری است.

کاربر می‌تواند هنگام بازدید از سایت، اطلاعات اتصال امن و مرجع صادرکننده گواهی را مشاهده کند.

این قابلیت کمک می‌کند مشخص شود زنجیره اعتبارسنجی سایت به کدام مرجع صدور گواهی ختم می‌شود.

برای نمونه، هنگام بازدید از دامنه آزمایشی با مسیر برتینا، مرجع صادرکننده گواهی نهایی Bertina Issuing CA است.

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

۸. پاسخ به مهم‌ترین نگرانی‌های مطرح‌شده درباره مرورگر برتینا

آیا افزودن گواهی ریشه به مرورگر به معنی جاسوسی از کاربران است؟

خیر. وجود یک گواهی ریشه در مخزن اعتماد مرورگر، به‌تنهایی وقوع شنود یا جاسوسی را ثابت نمی‌کند.

برای اثبات وقوع چنین رفتاری باید شواهدی از رهگیری ارتباط، تغییر مسیر ترافیک، ارائه گواهی غیرمجاز یا دسترسی واقعی به محتوای ارتباطات ارائه شود.

آیا افزودن یک CA خصوصی کاملاً بدون ریسک است؟

خیر. هر مرجع صدور مورد اعتماد بخشی از مدل امنیت HTTPS است و حفاظت از کلیدها و مدیریت چرخه صدور و ابطال آن اهمیت دارد.

این موضوع درباره مراجع صدور خصوصی و عمومی صدق می‌کند.

برتینا میان وجود یک ریسک بالقوه در معماری اعتماد و ادعای وقوع واقعی شنود تفاوت قائل است.

چرا برتینا گواهی ریشه ملی را در مرورگر قرار داده است؟

برای پشتیبانی از وب‌سایت‌هایی که از زنجیره گواهی ریشه ملی استفاده می‌کنند و ممکن است در مرورگرهای فاقد این مرجع اعتماد با خطای اعتبارسنجی مواجه شوند.

هویت این گواهی، صادرکننده و اثر انگشت آن در صفحه رسمی محصول اعلام شده است.

چرا Bertina Root CA در مرورگر وجود دارد؟

برای پشتیبانی از قابلیت SSL دوگانه و امکان بررسی ارتباط یک سایت از طریق دو زنجیره متفاوت گواهی.

دو دامنه آزمایشی این قابلیت متعلق به شرکت برتینا هستند و به کاربران اجازه می‌دهند رفتار دو مسیر را مشاهده و بررسی کنند.

آیا برتینا برای دامنه اشخاص ثالث گواهی صادر کرده است؟

گواهی‌های SSL وب‌سایت صادرشده از زیرساخت برتینا فقط به دو دامنه متعلق به شرکت اختصاص دارند و گواهی SSL برای دامنه اشخاص ثالث صادر نشده است.

مشخصات فنی گواهی‌های دو سایت آزمایشی در این گزارش ارائه شده و قابل بررسی است.

آیا استفاده از Chromium به معنی قدیمی یا ناامن بودن برتیناست؟

خیر. استفاده از Chromium به‌خودی‌خود ضعف امنیتی محسوب نمی‌شود. مسئله مهم، نسخه پایه، نحوه اعمال تغییرات، نگهداری محصول و زمان انتشار اصلاحیه‌های امنیتی است.

برتینا بر مبنای شاخه‌های پایدار Chromium به‌روزرسانی می‌شود و اطلاعات نسخه‌های منتشرشده را در تاریخچه تغییرات رسمی خود ارائه می‌کند.

۹. روش بازتولید آزمایش گواهی دوگانه

یکی از اهداف انتشار این گزارش، فراهم‌کردن امکان بررسی فنی نتایج است.

علاقه‌مندان می‌توانند با استفاده از OpenSSL، هر دامنه را به‌صورت مستقیم روی دو IP آزمایشی بررسی کنند.

برای دامنه نخست:

openssl s_client -connect 193.186.32.156:443 -servername bertinassl.ir -showcerts
openssl s_client -connect 193.186.32.40:443 -servername bertinassl.ir -showcerts

برای دامنه دوم:

openssl s_client -connect 193.186.32.156:443 -servername bertinaiwm.ir -showcerts
openssl s_client -connect 193.186.32.40:443 -servername bertinaiwm.ir -showcerts

خروجی این دستورها امکان مشاهده گواهی‌های ارائه‌شده، زنجیره صدور و مشخصات اتصال TLS را فراهم می‌کند.

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

امکان مشاهده نتیجه آزمایش‌ها در صفحات زیر نیز فراهم است:

نتیجه ممکن است با تغییر تنظیمات DNS، مسیر شبکه یا نسخه نرم‌افزار متفاوت باشد. بنابراین هنگام مقایسه باید IP مقصد، SNI و زمان آزمایش ثبت شوند.

۱۰. جمع‌بندی؛ امنیت باید قابل توضیح و بررسی باشد

امنیت مرورگر صرفاً با یک ادعا، یک نشان تجاری یا نام یک فناوری اثبات نمی‌شود.

معماری اعتماد، گواهی‌های دیجیتال، چرخه به‌روزرسانی، نحوه مدیریت ارتباطات HTTPS و امکان راستی‌آزمایی مستقل، همگی در ارزیابی امنیت یک محصول نقش دارند.

برتینا تلاش کرده است اطلاعات مربوط به گواهی ریشه ملی، نسخه‌های Chromium و قابلیت SSL دوگانه را در مستندات رسمی محصول ارائه کند.

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

ما معتقدیم بررسی انتقادی محصولات نرم‌افزاری ضروری است و پرسش‌های امنیتی باید پاسخ روشن دریافت کنند.

در عین حال، برای نتیجه‌گیری درباره وقوع شنود یا رفتار مخرب، وجود شواهد فنی مشخص ضروری است. نباید امکان بالقوه یک سازوکار امنیتی را بدون مستندات کافی با وقوع واقعی سوءاستفاده از آن یکسان دانست.

تعهد برتینا، ادامه به‌روزرسانی محصول، شفاف‌سازی تصمیمات فنی و فراهم‌کردن امکان بررسی رفتار مرورگر برای کاربران و متخصصان امنیت است.

منابع و مستندات

  1. صفحه رسمی دانلود و توضیحات امنیتی مرورگر برتینا
  2. تاریخچه انتشار نسخه‌های برتینا
  3. اطلاعیه رسمی Google Chrome 157
  4. مستندات امنیتی Chromium درباره گواهی‌های ریشه
  5. استاندارد RFC 5280 برای گواهی‌های X.509
  6. مستندات رسمی OpenSSL برای بررسی اتصال TLS
  7. مطلب «جای خالی امنیت» در روزنامه شرق