ثبت بازخورد

لطفا میزان رضایت خود را از دیجیاتو انتخاب کنید.

Very satisfied Satisfied Neutral Dissatisfied Very dissatisfied
واقعا راضی‌ام
اصلا راضی نیستم
چطور میتوانیم تجربه بهتری برای شما بسازیم؟

نظر شما با موفقیت ثبت شد.

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

فناوری ایران

وقتی مرورگرها بانک ایرانی را نمی‌شناسند؛ ماجرای گواهی‌های SSL داخلی چیست؟ 

گواهی داخلی؛ راه‌حل یا چالش جدید؟

علی مومنی
علی مومنی منتشر شده در 25 شهریور 1405  |  19:03

در دیجیاتو ثبت‌نام کنید

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

عضویت در دیجیاتو

گواهی‌های امنیتی برخی بانک‌های ایرانی در هفته‌های اخیر یکی پس از دیگری از سوی صادرکنندگان خارجی باطل شده‌اند؛ اتفاقی که در مواردی دسترسی کاربران به نسخه وب خدمات بانکی را مختل کرده است. بانک‌ها برای حل موقت این مشکل سراغ صادرکنندگان دیگر رفته‌اند، اما تکرار ابطال گواهی‌ها نشان داده این راهکار پایدار نیست. حالا بانک مرکزی استفاده شبکه بانکی از گواهی‌های صادرشده در زنجیره «مرکز ریشه ایران» را دنبال می‌کند.

گواهی‌های خارجی بانک‌ها یکی‌یکی باطل شدند

رجب‌زاده، رئیس اداره امنیت و هوش مصنوعی بانک مرکزی، می‌گوید گواهی‌های SSL/TLS سایت‌های بانکی، درگاه‌های پرداخت، سرویس‌ها و برنامک‌های موبایلی تا امروز عمدتاً از CAهای معتبر خارجی تهیه می‌شدند. به گفته او، اخیراً تعدادی از این گواهی‌ها با استناد به تحریم‌های آمریکا و اروپا به‌صورت یک‌طرفه و حتی بدون اطلاع قبلی ابطال یا Revoke شده‌اند.

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

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

بانک مرکزی زیرساخت جدیدی از صفر نمی‌سازد

رجب‌زاده تأکید می‌کند «مرکز ریشه ایران» زیرساختی است که از قبل وجود داشته و بانک مرکزی قرار نیست آن را از صفر ایجاد کند.

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

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

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

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

او می‌گوید: «برخلاف تصوری که ممکن است وجود داشته باشد، قرار نیست گواهی تک‌تک بانک‌ها در مرورگرهای کاربران ثبت شود. آنچه باید در فهرست اعتماد سیستم‌عامل‌ها و مرورگرها قرار بگیرد، گواهی ریشه صادرکننده است.»

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

رجب‌زاده می‌گوید: «این هشدار لزوماً به معنی ناامن‌بودن رمزنگاری یا وجود حمله سایبری نیست؛ بلکه مرورگر صادرکننده گواهی را نمی‌شناسد و نمی‌تواند زنجیره اعتماد آن را تا یک Root CA مورد اعتماد خودش دنبال کند.»

راه‌حل موقت؛ نصب گواهی ریشه روی دستگاه کاربر

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

رئیس اداره امنیت و هوش مصنوعی بانک مرکزی می‌گوید: «پس از یک آگاهی‌بخشی رسانه‌ای گسترده، کاربر باید گواهی ریشه را فقط یک‌بار و صرفاً از مسیر رسمی و قابل اصالت‌سنجی نصب و Trust کند.»

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

بانک مرکزی نیز به همین دلیل بر استفاده از مسیرهای رسمی تأکید دارد.

اما برای درک اینکه چرا یک گواهی داخلی می‌تواند از نظر فنی معتبر باشد ولی مرورگر آن را معتبر نشناسد، باید کمی به سازوکار SSL/TLS برگردیم.

موضوع اصلی، زنجیره اعتماد است

روح‌الله محمدخانی، مدیر امور امنیت و تداوم کسب‌وکار داتین، برای توضیح این مسئله ابتدا یک ابهام اصطلاحی را برطرف می‌کند: از نظر فنی چیزی به نام «گواهی امنیتی داخلی بانک» به‌عنوان نوع متفاوتی از گواهی وجود ندارد.

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

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

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

محمدخانی خلاصه مسئله را این‌طور بیان می‌کند: «موضوع اصلی، زنجیره اعتماد است؛ اینکه چه نهادی گواهی بانک را صادر کرده و چه کسی آن نهاد را معتبر می‌داند.»

گواهی داخلی الزاماً به معنی امنیت کمتر نیست

از نظر فنی، یک CA داخلی می‌تواند از همان استانداردها و فناوری‌های رمزنگاری مورد استفاده در گواهی‌های عمومی TLS استفاده کند.

گواهی‌های عمومی TLS در چارچوب استانداردهایی مانند X.509 و RFC 5280 فعالیت می‌کنند و CAهای عمومی نیز باید مجموعه‌ای از الزامات فنی، عملیاتی، مدیریت کلید، احراز مالکیت دامنه، ابطال گواهی و ممیزی را رعایت کنند.

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

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

قرار نیست گواهی تک‌تک بانک‌ها مستقیماً وارد فهرست اعتماد مرورگر شود

مدیر امور امنیت و تداوم کسب‌وکار داتین نیز روی همین نکته تأکید می‌کند که آنچه باید در Root Store قرار بگیرد، گواهی ریشه یک CA است، نه گواهی تک‌تک بانک‌ها.

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

اما اضافه‌شدن یک CA به فهرست اعتماد مرورگرها فرایندی ساده و خودکار نیست. مرورگرهایی مانند Firefox و Chrome برنامه‌های مستقلی برای مدیریت Root CAهای مورد اعتماد خود دارند. CA متقاضی باید الزامات فنی و عملیاتی گسترده‌ای را رعایت کند، ممیزی شود و در ادامه نیز این الزامات را به‌صورت مستمر رعایت کند.

محمدخانی می‌گوید ایرانی‌بودن یک CA به‌خودی‌خود مانع استفاده از آن در پروتکل TLS نیست؛ اما تبدیل‌شدن به یک Public CA مورد اعتماد جهانی صرفاً یک مسئله فنی نیست و موضوعات حقوقی، تجاری، ممیزی و ارزیابی‌های امنیتی نیز در آن دخیل هستند.

کاربر نباید هر گواهی ریشه‌ای را نصب کند

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

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

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

دلیل این حساسیت هم روشن است: کاربر با Trust کردن یک Root CA، در عمل به دستگاه خود اجازه می‌دهد گواهی‌هایی را که تحت آن زنجیره صادر شده‌اند معتبر تلقی کند.

علی مومنی
علی مومنی

در دانشگاه علامه اقتصاد خوانده‌ام و حالا چند سالی است خبرنگاری می‌کنم. فعالیت در حوزه رسانه در ایران و احتمالا در بسیاری از کشورها کار آسانی نیست اما عشق و علاقه به خبر با تمام دردسرهایش‌ آن چیزی است که من و بسیاری از همکارانم را نمک‌گیر کرده است. از ابتدای سال ۱۴۰۳ در دیجیاتو، اخبار فناوری ایران را دنبال می‌کنم و می‌نویسم.

دیدگاه‌ها و نظرات خود را بنویسید
    مطالب پیشنهادی