اصل کرکهف: چرا امنیت یک سیستم رمزنگاری باید به پنهان بودن کلید متکی باشد، نه الگوریتم
این قانون رمزنگاری قرن نوزدهمی که میگوید یک سیستم باید حتی در صورت افشای سازوکار درونیاش امن بماند، اکنون به استدلال بنیادین علیه «تأمین امنیت از طریق پنهانکاری» در نرمافزارهای مدرن و هوش مصنوعی تبدیل شده است.
به قلم رسول توکلی
این خبر را به اشتراک بگذارید
- حامیان متنباز
- استدلال میکنند که الگوریتمهای عمومی ذاتاً امنتر هستند زیرا امکان بررسی و حسابرسی جهانی توسط همتایان را فراهم میکنند.
- مهندسان امنیت
- اصل کرکهف را به عنوان یک قانون مطلق در طراحی سیستم در نظر میگیرند و فرض میکنند دشمنان از قبل نقشههای کامل سیستم را در اختیار دارند.
- عملگرایان دفاع در عمق
- معتقدند که اگرچه پنهانکاری نمیتواند جایگزین امنیت ریاضی شود، اما پنهان کردن جزئیات زیرساخت همچنان هزینه یک حمله را افزایش میدهد.
دیدگاههایی که این گزارش پوشش نداده
- فروشندگان نرمافزارهای انحصاری که برای محافظت از مالکیت معنوی خود، فعالانه به کدهای منبعبسته متکی هستند.
چرا مهم است
درک این اصل، تمرکز دفاع دیجیتال را از پنهان کردن نحوه کارکرد سیستم به تضمین ریاضی تابآوری آن تغییر میدهد؛ استانداردی که تعیین میکند آیا نرمافزارها، زیرساختهای بانکی و مدلهای هوش مصنوعی که به آنها وابستهاید واقعاً امن هستند یا صرفاً مخفی شدهاند.
نکات کلیدی
- اصل کرکهف بیان میکند که یک سیستم رمزنگاری باید حتی در صورت عمومی بودن الگوریتمش امن بماند، به شرطی که کلید آن مخفی باشد.
- اتکا به «تأمین امنیت از طریق پنهانکاری» سیستمهای شکنندهای ایجاد میکند که به محض افشای طراحیشان، کاملاً از هم فرو میپاشند.
- استانداردهای مدرنی مانند AES کاملاً عمومی هستند و برای جلوگیری از حملات جستجوی فراگیر، به فضاهای کلید بسیار بزرگ (مانند کلیدهای ۲۵۶ بیتی) متکیاند.
- پژوهشگران اکنون در حال اعمال این اصل مربوط به سال ۱۸۸۳ در حوزه هوش مصنوعی هستند و استدلال میکنند که نردههای محافظ هوش مصنوعی برای اینکه واقعاً امن باشند، باید شفاف عمل کنند.
با انتشار چارچوب انجمن پیشبرد هوش مصنوعی (AAAI) درباره هوش مصنوعی شفاف در سال ۲۰۲۵، بحث بر سر پنهان کردن یا نکردن معماری الگوریتمی، عملاً توسط قانونی که در سال ۱۸۸۳ برای تلگرافهای نظامی نوشته شده بود، فیصله یافت. پژوهشگران AAAI به این نتیجه رسیدند که تلاش برای تأمین امنیت هوش مصنوعی از طریق پنهان کردن سازوکار زیربنایی آن، آسیبپذیریهای فاجعهباری به بار میآورد. در عوض، آنها استدلال کردند که سیستمهای مدرن باید دقیقاً همان استانداردی را بپذیرند که از رمزنگاری قرن نوزدهمی انتظار میرفت: سیستم باید حتی در صورتی که دشمن نقشههای کامل آن را در اختیار داشته باشد، کاملاً امن بماند. این موضعگیری، تغییر رویکردی قطعی را در نحوه ارزیابی اعتماد در صنعت فناوری رسمیت بخشید و بار امنیت را از دوش پنهانکاری شرکتی برداشت و بر دوش تابآوری ریاضیاتی گذاشت.[5]
این استدلال بر مفهومی استوار است که آگوست کرکهف، رمزنگار هلندی، در مقاله سال ۱۸۸۳ خود در مجله «رمزنگاری نظامی» آن را فرموله کرد. کرکهف شش قانون بنیادین برای رمزنگاری نظامی ترسیم کرد، اما قانون دوم به سنگبنای مهندسی امنیت مدرن تبدیل شد: یک سیستم رمزنگاری نباید نیازی به پنهان نگهداشتن الگوریتم خود داشته باشد؛ تنها کلید است که باید مخفی بماند. اگر امنیت یک سیستم به این وابسته باشد که مهاجم نداند نرمافزار چگونه کار میکند، آن سیستم ذاتاً شکننده است. به محض اینکه سازوکار سیستم مهندسی معکوس شود، به بیرون درز کند یا به سرقت برود، کل ساختار دفاعی آن فرو میریزد.[4][7]
در نقطه مقابل، سیستمی که بر پایه اصل کرکهف ساخته شده باشد، فرض را بر این میگذارد که دشمن از قبل دقیقاً میداند قفل چگونه کار میکند. امنیت نه با طراحی پنهان قفل، بلکه با غیرممکن بودن مطلقِ حدس زدن کلید خاصی که برای چرخاندن توپی قفل نیاز است، از نظر ریاضی تضمین میشود. برای درک اینکه چرا این تمایز تا این حد حیاتی است، باید به ریاضیات رمزنگاری مدرن نگاه کرد. «استاندارد رمزنگاری پیشرفته» (AES)، الگوریتمی که برای تأمین امنیت بانکداری جهانی و ارتباطات طبقهبندیشده دولتی استفاده میشود، یک استاندارد کاملاً عمومی است. هر کسی میتواند دقیقاً همان عملیات ریاضی را که این الگوریتم برای درهمریزی دادهها استفاده میکند، دانلود کند.[4]
با این حال، از آنجا که استاندارد رمزنگاری پیشرفته به یک کلید ۲۵۶ بیتی متکی است، یک مهاجم باید یک عدد خاص را از میان ۱.۱ ضرب در ۱۰ به توان ۷۷ احتمال ممکن حدس بزند. الگوریتم عمومی است، اما فضای کلید آنقدر وسیع است که اگر تمام کامپیوترهای روی زمین به اندازه طول عمر کیهان کار کنند، باز هم نمیتوانند با روش جستجوی فراگیر (بروت فورس) به جواب برسند. این نهایتِ تحقق چشمانداز کرکهف است. سیستم در برابر بررسیهای مداوم و عمومی دوام میآورد، زیرا ریاضیات آن، مستقل از هرگونه پنهانکاری، مستحکم است.[4][6]
با این حال، از آنجا که استاندارد رمزنگاری پیشرفته به یک کلید ۲۵۶ بیتی متکی است، یک مهاجم باید یک عدد خاص را از میان ۱.۱ ضرب در ۱۰ به توان ۷۷ احتمال ممکن حدس بزند.
قویترین شواهد مدرن برای اثبات این رویکرد را میتوان در جنبش نرمافزارهای متنباز (اپن سورس) یافت. فروشندگان نرمافزارهای انحصاری از نظر تاریخی استدلال میکردند که انتشار کد منبع، نقشه راهی برای یافتن آسیبپذیریها به دست مهاجمان میدهد. با این حال، پژوهشگران «مرکز آموزش و پژوهش در تضمین اطلاعات و امنیت» در دانشگاه پردو نشان دادند که سیستمهای متنباز صرفاً به دلیل عمومی بودن کدهایشان، با خطرات بیشتری مواجه نیستند. در واقع، این شفافیت به هزاران پژوهشگر امنیتی مستقل اجازه میدهد تا کدها را بررسی کنند، نقصها را بیابند و پیش از آنکه مورد سوءاستفاده قرار گیرند، آنها را برطرف کنند.[3]
در مقابل، تاریخ پر از شکستهای فاجعهبار سیستمهایی است که این قانون ۱۵۰ ساله را نادیده گرفتند. وقتی شرکتها به جای استفاده از استانداردهای عمومی، تلاش میکنند الگوریتمهای رمزنگاری انحصاری خود را اختراع کنند، تقریباً همیشه نقصهای ریاضی ظریفی را وارد سیستم میکنند. از آنجا که این الگوریتمهای انحصاری مخفی نگه داشته میشوند، هرگز تحت بررسی دقیق همتایان در جامعه جهانی رمزنگاری قرار نمیگیرند. وقتی الگوریتم به ناچار به بیرون درز میکند یا توسط عوامل مخرب مهندسی معکوس میشود، نقصهای پنهان فوراً مورد سوءاستفاده قرار میگیرند و کاربران را کاملاً بیدفاع رها میکنند.[2][6]
قویترین استدلال متقابل در برابر این الزام به شفافیت، این است که پنهانکاری، اگرچه به تنهایی کافی نیست، اما همچنان میتواند به عنوان یک لایه معتبر در استراتژی «دفاع در عمق» عمل کند. همانطور که شرکت ارائهدهنده مدیریت هویت «اوکتا» در تحلیل ۳۰ اوت ۲۰۲۴ خود از این رویه اشاره کرد، پنهان کردن آدرسهای آیپی سرور، تغییر نام حسابهای کاربری پیشفرض مدیران، یا مبهمسازی کدها میتواند هزینه و زمان لازم برای نقشهبرداری مهاجم از شبکه را افزایش دهد. اگر یک دشمن مجبور باشد هفتهها وقت صرف کند تا فقط بفهمد هدفش از چه نرمافزاری استفاده میکند، ممکن است از حمله منصرف شود. خطر تنها زمانی به وجود میآید که پنهانکاری به عنوان اقدام دفاعی اصلی یا تنها اقدام دفاعی در نظر گرفته شود.[1]
مهندسان امنیت به طور فزایندهای این تمایز را به عنوان یک قانون عملی برای طراحی سیستم تدوین کردهاند. هنگام ساخت سیلیکونهای امن یا نرمافزارهای سازمانی، فرض همیشه باید بر این باشد که مهاجم سختافزار را خریده، فرمور (میانافزار) را دیکامپایل کرده و نقشه کاملی از برد مدار چاپی در اختیار دارد. اگر سیستم در چنین شرایطی قابل نفوذ باشد، امن نیست. این اصل، توسعهدهندگان را مجبور میکند تا به جای امید بستن به اینکه طراحیهای انحصاریشان هرگز به بیرون درز نخواهد کرد، مرزهای رمزنگاری مستحکمی بسازند.[2][6]
این موضوع، بحث را به مرزهای مدرن هوش مصنوعی بازمیگرداند. با ادغام مدلهای هوش مصنوعی در زیرساختهای حیاتی، غریزه توسعهدهندگان تجاری این بوده است که برای جلوگیری از حملات خصمانه، به شدت از وزنهای مدل و معماریهای آموزشی محافظت کنند. با این حال، یافتههای AAAI نشان میدهد که این کار تکرار همان خطای تاریخی است. اگر نردههای محافظ ایمنی یک سیستم هوش مصنوعی صرفاً به این دلیل قابل دور زدن باشند که مهاجم یاد میگیرد این نردهها چگونه برنامهنویسی شدهاند، آن سیستم ذاتاً ناامن است. آزمون واقعی تابآوری یک الگوریتم این است که آیا میتواند در برابر مهاجمی که دقیقاً میداند این الگوریتم چگونه فکر میکند، مقاومت کند یا خیر.[5][8]
بررسی عمیق دیدگاهها
حامیان متنباز
شفافیت، امکان بررسی توسط همتایان و امنیت مستحکم را فراهم میکند.
طرفداران نرمافزارهای متنباز استدلال میکنند که اصل کرکهف تأیید نهایی مدل توسعه آنهاست. با عمومی کردن کد منبع، نرمافزار تحت حسابرسی مداوم هزاران پژوهشگر مستقل قرار میگیرد. این بررسی جمعی، آسیبپذیریها را بسیار سریعتر از یک تیم بسته از توسعهدهندگان انحصاری شناسایی و برطرف میکند و ثابت میکند که الگوریتمهای عمومی از نظر ساختاری تابآورتر از الگوریتمهای پنهان هستند.
مهندسان امنیت
فرض را بر نفوذ بگذارید؛ الگوریتم عمومی است، فقط کلید مخفی است.
برای متخصصان امنیت مدرن، اصل کرکهف یک بحث فلسفی نیست، بلکه یک محدودیت مهندسی الزامی است. سیستمها با این فرض طراحی میشوند که دشمن از قبل کد منبع کامل، معماری شبکه و نقشههای سختافزاری را در اختیار دارد. اگر دفاع یک سیستم به این متکی باشد که مهاجم نداند یک عملکرد خاص چگونه کار میکند، مهندسان آن سیستم را از پیش هکشده در نظر میگیرند و خواستار طراحی مجدد آن با مرزهای رمزنگاری مناسب میشوند.
عملگرایان دفاع در عمق
پنهانکاری یک لایه ثانویه معتبر است، اما هرگز دفاع اصلی نیست.
عملگرایان ضمن اذعان به برتری ریاضیاتی اصل کرکهف، استدلال میکنند که «تأمین امنیت از طریق پنهانکاری» همچنان نقش تاکتیکی در استراتژیهای دفاع در عمق دارد. پنهان کردن زیرساخت سرور، تغییر پورتهای پیشفرض و مبهمسازی کدها، مانع یک مهاجم مصمم و با منابع کافی نمیشود، اما زمان، هزینه و تلاش لازم برای نقشهبرداری از شبکه را افزایش میدهد. این اصطکاک میتواند حملات خودکار و تهدیدات سطح پایین را بازدارد، به شرطی که روی امنیت واقعی رمزنگاری لایهبندی شده باشد.
منابع
[1]تیم سردبیری کوهستانمهندسان امنیتتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
[2]تیم سردبیری کوهستانمهندسان امنیتتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
[3]Purdue University - CERIASحامیان متنبازRISK PERCEPTION AND TRUSTED COMPUTER SYSTEMS: IS OPEN SOURCE SOFTWARE REALLY MORE SECURE?
مطالعه در Purdue University - CERIAS →
[4]Springerمهندسان امنیتKerckhoffs Principle (Encyclopedia of Cryptography and Security)
مطالعه در Springer →
[5]AAAI Publicationsمهندسان امنیتThe Pitfalls of “Security by Obscurity” And What They Mean for Transparent AI
مطالعه در AAAI Publications →
[6]تیم سردبیری کوهستانمهندسان امنیتتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
[7]تیم سردبیری کوهستانمهندسان امنیتتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
[8]تیم سردبیری کوهستانمهندسان امنیتتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
نظرات
بیشتر در دیدگاه
مشاهده همه →دینامیک سیالات
خیابان گردابی فون کارمن: چرا پایداری آیرودینامیکی نیازمند پلهای معلق با خرپای باز است
7 منبع
مقیاسبندی متابولیک
مقیاسبندی M^1/4 در طول عمر: چرا سهمیه تپش قلب همه پستانداران برابر است؟
7 منبع
انرژیشناسی اکوسیستم
قانون ۱۰ درصد: چرا ناکارآمدی ترمودینامیکی در انتقال انرژی، تمام زنجیرههای غذایی را به چهار یا پنج سطح پرورشی محدود میکند
7 منبع
حاکمیت جهانی هوش مصنوعی
معاهده هوش مصنوعی شورای اروپا: اولین ناظر جهانی فناوری مبتنی بر حقوق بشر
6 منبع
هر زاویه. هر روز.
دریافت دیدگاه اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.





