چگونه درختهای مرکل مراجع صدور گواهی را وادار به شفافسازی عمومی گواهیهای TLS کردند
سازندگان مرورگرها با الزام به ارائه اثبات ریاضی مبنی بر ثبت دائمی هر گواهی جدید TLS در یک دفتر کل عمومی، امنیت وب را تضمین میکنند. این سازوکار متکی بر درختهای مرکل فقطافزودنی است تا هیچ مرجعی نتواند مخفیانه و بدون شناسایی فوری، گواهی جعلی صادر کند.
به قلم ایمان شریعتی
این خبر را به اشتراک بگذارید
بهطور خلاصه
- مرورگرها شرط اعتبار هر گواهی جدید را ثبت دائمی آن در دفاتر عمومی فقطافزودنی معین کردهاند.
- درختهای مرکل این امکان را فراهم میکنند که حضور یک گواهی در دفتری میلیاردی با کمترین پردازش تأیید شود.
- این شفافیت تضمین میکند مالکان دامنهها به محض صدور گواهی سرکش توسط مرجعی آسیبدیده، از ماجرا آگاه شوند.
در این مطلب
توسعهدهندگان مرورگرها مرزهای اعتماد در اینترنت را ترسیم میکنند. وقتی کاربری وارد یک وبسایت امن میشود، این گوگل کروم و اپل سافاری هستند که تصمیم میگیرند اعتبارنامه رمزنگاریشده ارائهشده از سوی سرور را بپذیرند یا نه. این بازیگران اهرم قدرت خود را دقیقاً در کسری از ثانیه در جریان دستتکانی TLS به کار میگیرند و هر اتصالی را که فاقد مدرک ثبت در دفاتر عمومی باشد بیدرنگ قطع میکنند.[2][4]
این سازوکار نظارتی با عنوان «شفافیت گواهی» (Certificate Transparency) شناخته میشود؛ سیستمی که عملاً توانایی مراجع صدور گواهی را در صدور بیسروصدای اعتبارنامههای امنیتی سلب کرده است. مرورگرها با اجبار به ثبت دائمی هر گواهی جدید در یک دفتر کل عمومی، تضمین میکنند که هیچ مرجعی نتواند هویتی جعلی را در خفا جعل کند.[2]
این الزام بنیادی، الگوی امنیتی وب را از اعتماد کورکورانه به پاسخگوییِ قابلاثبات تبدیل کرد. کارگروه مهندسی اینترنت در سند استاندارد RFC 9162 مینویسد: «شفافیت گواهی چارچوبی باز برای پایش و حسابرسی گواهیهای TLS تقریباً بهصورت لحظهای مهیا میکند.» سندی که شیوه دقیق کارکرد این دفاتر عمومی را پایهریزی کرده است.[1]
پیش از استقرار این سیستم، شبکه اینترنت وابسته به صدها مرجع صدور مستقل بود. کافی بود فقط یکی از این مراجع نفوذپذیر شود تا بتواند گواهی معتبری برای یک بانک بزرگ یا سرویسدهنده ایمیل صادر کند. از آنجا که این صدورها در خفا انجام میشد، مالکان واقعی دامنه هیچ راهی نداشتند که متوجه شوند چنین اعتبارنامه سرکشی جعل شده، مگر زمانی که حمله علنی میشد.[2]
مرزهای شکننده اعتماد کورکورانه
رسوایی مرگبار مرجع صدور هلندی DigiNotar در سال ۲۰۱۱ شکنندگی این ساختار را برملا کرد. مهاجمان با نفوذ به این مرجع، گواهیهای معتبر اما جعلی برای گوگل، یاهو و اسکایپ ساختند و با استفاده از آنها ارتباط صدها هزار کاربر اینترنت را شنود کردند.[2]
وب به ابزاری نیاز داشت که افشای عمومی را بدون اتکا به حسن نیت مراجع تضمین کند. راهحل این بود که اعلام عمومی به پیششرط قطعی اعتماد مرورگر تبدیل شود؛ اگر گواهی صادرشده حامل مدرک ریاضی مبنی بر ثبت در دفاتر عمومی نباشد، مرورگر بلافاصله تبادل اطلاعات را قطع میکند.[4]
این مدرک در قالب «مهر زمانی گواهی امضاشده» یا SCT ارائه میشود. مرجع صدور پیش از تحویل گواهی نهایی به مدیر وبسایت، پیشگواهی را به دفتری عمومی میفرستد. دفتر در پاسخ، یک برچسب زمانی امضاشده تولید میکند و مرجع این برچسب را درون کالبد گواهی نهایی میگنجاند.[1][3]
در جریان دستتکانی پروتکل TLS، وبسرور هم گواهی اصلی و هم این برچسب SCT را به مرورگر کاربر ارائه میدهد. مرورگر امضای دیجیتال روی برچسب زمانی را ارزیابی میکند؛ اگر معتبر و متعلق به دفتری شناختهشده باشد اتصال برقرار میشود و در غیر این صورت، اخطار امنیتی شدیدی به کاربر نمایش میدهد.[2][4]
اثبات رمزنگاریشده انتشار عمومی
دفاتر ثبتی که این برچسبها را میسازند، پایگاههای داده معمولی نیستند، بلکه سازههایی رمزنگاریشده بر پایه «درختهای مرکل فقطافزودنی» محسوب میشوند. همین ساختار ریاضی است که شفافیت گواهی را عملیاتی کرده و تضمین میکند ورودی ثبتشده به هیچ عنوان قابل تغییر یا حذف نیست.[1]
یک درخت مرکل دادهها را از طریق جفتکردن رکوردها و هشکردن سلسلهمراتبی آنها سازماندهی میکند. ردیف پایین شامل گواهیهای منفرد است؛ هر جفت گواهی هش شده و یک گره والد را تشکیل میدهد و این چرخه جفتشدن و هششدن پلهپله به سمت بالا ادامه مییابد تا سرانجام تنها یک «هش ریشه» باقی بماند.[1][2]
این هش ریشه مانند اثر انگشتی منحصربهفرد برای تمامیت دادهها در همان لحظه عمل میکند. مستندات فنی پروژه شفافیت گواهی گوگل توضیح میدهد: «خاصیت فقطافزودنی مستقیماً برخاسته از معماری این درخت است.» اگر تنها یک بیت در گواهیهای قدیمی دستکاری شود، تمامی هشهای بالادستی دگرگون شده و هش ریشه کاملاً تغییر خواهد کرد.[2]
به دلیل ساختار فقطافزودنی، دفاتر میتوانند با اضافه شدن هر گواهی جدید، مداوم هشهای ریشه تازه صادر کنند. پایشگرهای مستقل این هشهای ریشه را در گذر زمان بارگیری و تطبیق میدهند. ناظر با درخواست یک «اثبات پیوستگی»، از نظر ریاضی مطمئن میشود که درخت جدید کماکان دربردارنده تکتک گواهیهای پیشین است.[1]
ریاضیات پشت درخت مرکل
برگ برنده واقعی درخت مرکل در کارایی محاسباتی خیرهکننده آن هنگام افزایش مقیاس است. برای بررسی صحت حضور یک گواهی در دفتری میلیاردی، نیازی به دریافت تمام پایگاه داده نیست؛ مرورگر یا ناظر فقط باید یک زنجیره بسیار کوتاه از هشها را که گواهی را به ریشه متصل میکند چک کند.[1][5]
این زنجیره کوچک «اثبات شمول» نام دارد. با توجه به ساختار دودویی درخت، تعداد هشهای لازم نه به صورت خطی، بلکه با مقیاسی کاملاً لگاریتمی رشد میکند؛ به این معنا که دفتری با ۱۰۰۰ گواهی تنها به ۱۰ عملیات هش و دفتری با ۱ میلیون رکورد تنها به ۲۰ هش نیاز دارد.[1][5]
امروزه بزرگترین دفاتر عمومی شامل میلیاردها ورودی هستند. نکته قابلتوجه اینکه حتی در دفتری با ۱۲ میلیارد گواهی ثبتشده، اثبات شمول تنها به ۳۴ عملیات هش خلاصه میشود. همین نبوغ ریاضی تنها دلیلی است که شفافسازی لحظهای هیچ تأخیر محسوسی در بارگذاری سایتها ایجاد نمیکند.[2][5]
اگر این دادهها در قالب جدولهای تخت ثبت میشدند، سنجش صحت یک گواهی نیازمند پایش تکبهتک میلیاردها ردیف بود؛ امری که وبگردی روزمره را کاملاً مختل میکرد. اما درخت مرکل این اعتبارسنجی جهانی را به چند ده بایت داده و کسری از میلیثانیه زمان تبدیل کرده است.[5]
اعمال قانون در لحظه دستتکانی
توسعهدهندگان مرورگرها سختگیری بالایی روی صلاحیت این دفاتر دارند. به عنوان نمونه، قوانین امنیتی اپل برای مرورگر سافاری تعیین کرده که هر گواهی معتبر TLS باید دارای برچسب زمانی از دستکم دو دفتر مستقل و تاییدشده باشد تا در صورت از کار افتادن موقت یک دفتر، سرویسدهی سایت به مشکل نخورد.[4]
گوگل کروم نیز چارچوب چنددفتری مشابهی را به کار میبندد. برای جلوگیری از تبانی و پنهانکاری، دفاتر نباید به یک نهاد وابسته باشند؛ چنانچه یک مرجع صدور گواهی دفتر ثبت اختصاصی خود را اداره کند، برچسب زمانی دوم لزوماً باید از دفتری مستقل مانند کلودفلر یا گوگل دریافت شود.[2][4]
دفاتری که در پایداری فنی یا یکپارچگی رمزنگاری خود تعلل کنند، بدون معطلی کنار گذاشته میشوند. مرورگرها فهرستی پویا از دفاتر مورد اعتماد دارند که با آپدیتهای نرمافزاری منظم تنظیم میشود؛ تخطی از شرط فقطافزودنی بودن مساوی با حذف فوری دفتر و بیاعتباری تمامی برچسبهای زمانی جدید آن خواهد بود.[2][3]
این بیاعتبارسازی عملاً کاربری دفتر را میسوزاند. مستندات پروژه لِتسانکریپت تاکید میکند: «به محض حذف یک دفتر از فهرست معتمد، مراجع صدور باید بلافاصله اتکا به آن را برای گواهیهای جدید قطع کنند.» به این ترتیب مرجع چارهای جز مسیریابی فوری درخواستها به سمت سایر دفاتر تأییدشده نخواهد داشت.[3]
حسابرسان و ناظران زیستبوم
کارآمدی این زنجیره شفافیت وابسته به حسابرسان و ناظران مستقلی است که دادههای ورودی را برای کشف رخدادهای مشکوک زیر نظر دارند. این سامانههای خودکار با الحاق مداوم گواهیها به درختهای مرکل، آنها را میکاوند تا تخلفاتی همچون صدور گواهی برای دامنهای بدون اجازه مالک آن را شکار کنند.[1][2]
غولهای فناوری و شرکتهای امنیتی بازیگران اصلی این نظارت هستند. نهادهایی چون کلودفلر و متا در کنار محققان امنیتی، زیرساختهایی دارند که روزانه میلیونها رکورد جدید را غربال میکنند و در صورت مشاهده صدور غیرمجاز، فوراً به دارنده اصلی دامنه هشدار میدهند.[2]
این پایش مداوم، موازنه امنیتی را وارونه کرده است؛ سازمانها به جای اینکه ماهها پس از یک حمله سایبری با گواهی جعلی روبرو شوند، ظرف چند ساعت از صدور آن مطلع میشوند و میتوانند با مراجعه به مرجع صادرکننده، ابطال اعتبارنامه سرکش را پیش از آغاز حمله درخواست کنند.[2]
این اکوسیستم مراجع خطاکار را نیز در تله میاندازد. اگر مرجعی گواهی جدیدی با مدت اعتبار فراتر از سقف قانونی ۳۹۸ روز صادر کند، این تخلف تا ابد در دفتر عمومی ثبت میشود. ناظران آن را پرچمگذاری میکنند و شرکتهای مرورگر اقدامات انضباطی یا خلع صلاحیت مرجع را کلید میزنند.[4]
مقیاسپذیری در مقیاس میلیاردها گواهی
میزان دادهای که در زیستبوم شفافیت گواهیها ردوبدل میشود بهصورت سرسامآوری رشد کرده است. گسترش مراجع صدور خودکار مانند لِتسانکریپت که گواهیهای رایگان و کوتاهمدت تولید میکنند، آمار کل گواهیهای ثبتشده را از ۱۲ میلیارد عبور داده است؛ حجمی غولآسا که ساختار درخت مرکل آن را بیدردسر مهار میکند.[2][3]
اپراتورها برای کنترل وسعت این دفاتر کل، پرونده دفاتر قدیمی را اصطلاحاً منجمد کرده و دفاتر جدیدی باز میکنند؛ برای مثال، دفتری به شکل خاص برای پذیرش گواهیهای منقضیشونده در سال ۲۰۲۶ تنظیم میشود و با عبور از آن سال، دفتر بایگانی شده و پایشگرها نگاه خود را به زیردفاتر فعال معطوف میسازند.[1][3]
این بخشبندی زمانی مانع از رشد نامحدود و سنگین شدن یک تکدرخت مرکل میشود، در حالی که سلامت محاسباتی سوابق گذشته کماکان پابرجاست. درختهای کهنهتر همچنان در دسترس عموم باقی میمانند تا پژوهشگران روندهای تکاملی الگوریتمهای رمزنگاری و طول عمر گواهیها را بررسی کنند.[1]
این تحلیل چگونه انجام شد
- روش
- محاسبه میزان مقیاسپذیری و بار محاسباتی دفاتر شفافیت گواهی از طریق مقایسه فرآیند راستیآزمایی در درخت مرکل در برابر دفتر کل خطی معمولی.
- یافته
- یک مرورگر میتواند صحت وجود یک گواهی را در یک دفتر کل با ۱۲ میلیارد ورودی تنها با ۳۴ عملیات هش اثبات کند؛ این نشان میدهد ساختار داده درخت مرکل تنها دلیل فنی و ریاضی است که پیادهسازی این شفافیت عمومی بدون ایجاد تاخیر در دستتکانی TLS محقق شده است.
- دادههایی که بر پایهٔ آنها کار کردیم
- مجموع گواهیهای فعال در دفاتر اصلی شفافیت: ~12 billion — Google Certificate Transparency
- تعداد عملیات هش مورد نیاز برای اثبات شمول: 34 hashes — Internet Engineering Task Force
- محدودیتهای این تحلیل
- این محاسبه با فرض یک درخت باینری کاملاً متوازن صورت گرفته است؛ در ساختارهای عملیاتی بر حسب نحوه دستهبندی و تواتر بهروزرسانیها، ممکن است عملیات هش کمی بیشتر باشد.
اصطلاحات کلیدی
- مرجع صدور گواهی (CA)
- نهادی مورد تایید مرورگرها برای احراز هویت وبسایتها و صدور گواهیهای رمزنگاری که اتصال امن HTTPS را برقرار میسازند.
- درخت مرکل
- یک ساختار داده درختی که با جفتکردن و هشکردن سلسلهمراتبی رکوردها، امکان راستیآزمایی بسیار سریع و کمهزینه مجموعههای عظیم داده را فراهم میسازد.
- مهر زمانی گواهی امضاشده (SCT)
- رسید دیجیتال و امضاشده توسط دفتر کل عمومی که اثبات میکند گواهی مشخصی برای همیشه در این دفتر عمومی ثبت شده است.
- دستتکانی TLS
- مذاکره و تبادل اطلاعات اولیه رمزنگاریشده میان مرورگر کاربر و سرور وب که در آن سرور برای اثبات هویت خود گواهینامهاش را عرضه میکند.
پرسشهای متداول
آیا میتوان گواهی ثبتشده را از دفاتر شفافیت پاک کرد؟
خیر. ساختار درخت مرکل اکیداً فقطافزودنی است. با ثبت گواهی، هرگونه دخل و تصرف یا حذف موجب فروپاشی هشهای متصل به ریشه شده و دستکاری فوراً رسوا میشود.
آیا شفافیت گواهی مانع از صدور اولیه گواهی جعلی میشود؟
مانع صدور آن نمیشود، ولی این صدور را بلافاصله علنی و عمومی میکند. در نتیجه مالک واقعی دامنه در لحظه متوجه صدور غیرمجاز شده و میتواند پیش از سوءاستفاده مهاجم، خواهان ابطال گواهی شود.
اگر یکی از دفاتر ثبت عمومی قطع شود چه رخ میدهد؟
مرورگرها دقیقاً برای پوشش همین ریسک، وجود برچسبهای زمانی از چندین دفتر مجزا را شرط میدانند. اگر یک دفتر موقتاً از دسترس خارج شود، گواهی با اتکا به مهر زمانی دفتر دیگر معتبر باقی میماند.
بررسی عمیق دیدگاهها
سازندگان مرورگرها
مراجع صدور گواهی را موجودیتهایی ضروری اما ذهنیتپذیر تلقی میکنند که باید به کمک الزامات رمزنگاری به پاسخگویی در پیشگاه عموم مجبور شوند.
شرکتهایی مانند گوگل و اپل با در اختیار داشتن مخزن گواهیهای ریشه، عملاً تعیین میکنند چه گواهیهایی برای میلیاردها دستگاه مجاز هستند. از زاویه دید آنها، الگوی قدیمی اعتماد کورکورانه خطایی بنیادین بود. مرورگرها با اجبار به ثبت در دفاتر شفافیت، بار اثبات را بر دوش خود مراجع گذاشتند تا مانع از آن شوند که نفوذ به یک مرجع، امنیت کل کاربران وب را در سکوت متلاشی کند.
مراجع صدور گواهی
اگرچه شفافیت را معیاری پایه میدانند، اما عمده تمرکزشان بر ارتقای کارایی دفاتر ثبت است تا سرعت پردازش مانع صدور پرشتاب گواهیها نشود.
برای مراجعی چون لِتسانکریپت که روزانه میلیونها گواهی تولید میکنند، نیاز به دریافت رسید از دفاتر عمومی پیوند حساسی در چرخه کار است. اگر دفاتر کند باشند، خط صدور گواهی با تاخیر مواجه میشود. برای رفع این چالش، این مراجع دفاتر اختصاصی خود را برپا کرده یا فرآیندهای جایگزینی سریعی طراحی میکنند تا مشتریان با تاخیر مواجه نشوند.
فعالان حریم خصوصی
در عین استقبال از دستاوردهای امنیتی، هشدار میدهند که ثبت عمومی میتواند ساختار درونی شبکههای سازمانی را افشا کند.
ثبت عمومی و ماندگار هر گواهی سبب میشود پنهان کردن زیردامنههای داخلی سازمانها غیرممکن شود. سازمانی که محصولی نوپا را آزمایش میکند ممکن است با صدور گواهی برای دامنهای چون project-x.internal.company.com به شکل ناخواسته کل پروژه را در دسترس عموم لو دهد. با این حال جامعه امنیت باور دارد این هزینه در برابر نجات وب ارزش دارد و به مدیران شبکه پیشنهاد میکند از گواهیهای فراگیر (wildcard) بهره ببرند.
- سازندگان مرورگرها
- مراجع صدور گواهی را موجودیتهایی ضروری اما ذهنیتپذیر تلقی میکنند که باید به کمک الزامات رمزنگاری به پاسخگویی در پیشگاه عموم مجبور شوند.
- مراجع صدور گواهی
- اگرچه شفافیت را معیاری پایه میدانند، اما عمده تمرکزشان بر ارتقای کارایی دفاتر ثبت است تا سرعت پردازش مانع صدور پرشتاب گواهیها نشود.
- نهادهای تدوین استاندارد امنیتی
- بیش از هر چیز بر دقت ریاضی و معماری نامتمرکز درخت مرکل پای میفشارند تا هیچ نقطه شکست تکی در این سازوکار به وجود نیاید.
دیدگاههایی که این گزارش پوشش نداده
- مدیران شبکه در سازمانهای بزرگ
- فعالان حوزه حریم خصوصی نامهای دامنه
منابع
[1]Internet Engineering Task Forceنهادهای تدوین استاندارد امنیتیRFC 9162: Certificate Transparency Version 2.0
مطالعه در Internet Engineering Task Force →
[2]Google Certificate Transparencyسازندگان مرورگرهاHow Certificate Transparency Works
مطالعه در Google Certificate Transparency →
[3]Let's Encryptمراجع صدور گواهیCertificate Transparency (CT) Logs
مطالعه در Let's Encrypt →
[4]Apple Supportسازندگان مرورگرهاApple's Certificate Transparency policy
مطالعه در Apple Support →
[5]تیم سردبیری کوهستاننهادهای تدوین استاندارد امنیتیتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
بیشتر در فناوری
مشاهده همه →امنیت شبکه
هشدار سیسکو درباره بهرهبرداری فعال هکرها از آسیبپذیری روز صفر در نرمافزار مدیریت SD-WAN
6 منبع
آسیبپذیری هسته
وردپرس یک آسیبپذیری حیاتی هسته را وصله کرد؛ هکرها در عرض چند ساعت از این نقص سوءاستفاده کردند
5 منبع
آسیبپذیری روز صفر
زنجیره روز صفر کروم و ویندوز: هکرهای دولتی چین چگونه بدافزار CLEANGULP را مستقر کردند
4 منبع
زیرساخت کلید عمومی
زنجیره رمزنگاریشده اعتماد: مراجع صدور گواهی ریشه آفلاین چگونه میلیاردها اتصال روزانه وب را تایید میکنند
7 منبع
نظرات
هر زاویه. هر روز.
اخبار فناوری با پوشش کامل منابع و تحلیل دیدگاهها، هر روز و رایگان.





