در جلسات و  محافل مختلف امنیتی زیادی به  این موضوع برخورد کرده ام که افرادی که  آگاهی عمیقی از امنیت سایبری ندارند  (به ویژه مدیران سازمان ها ) تصور می کنند که امنیت یک سامانه به ویژه یک سامانه رمز (باید) بسیار متکی باشد به پنهان نگاه داشتن ساختار و جزییات طراحی و یا پیاده سازی آن و زمانی که اشتباه بودن این تصور و ضعف های آن صحبت می کنیم و  به اصل کرکهُفس(Kerckhoffs's principle)-که در قرن ۱۹ میلادی در حوزه رمزنگاری مطرح شد- اشاره می کنیم تصور می کنند که چه حرف غریبی می گوییم. اگرچه متخصصین حوزه امنیت به این اصل اشراف کامل دارند اما هدف بنده از نوشتن این پست صرفا ترویج و آگاهی بخشی در مورد این اصل ساده امنیتی است تا در آینده کمتر شاهد این سوء برداشت باشیم.

البته اگر بخواهیم اندکی به کالبد شکافی این موضوع بپردازیم به این نکته پی می بریم که این تصور اشتباه در این گونه افراد -که عموما تحصیلات آکادمیک تخصصی در گرایش امنیت اطلاعات ندارند- می تواند حاصل سوء برداشت آنها از راهبرد امنیتی  امنیت از طریق ایجاد ابهام (Security through Obscurity strategy) باشد.اگرچه ایجاد ابهام و مبهم کردن غالب سامانه ها می تواند به تقویت امنیت در آنها کمک کند اما قرار دادند این راهبرد به عنوان یک اصل امنیتی در طراحی و پیاده سازی یک اشتباه قطعی و مسلم است و تهدیدات امنیتی پرخطری را برای سامانه مورد نظر رقم خواهد زد.

در ادامه به بیان اصل کرکهُفس (برخی آن را کرهافس نیز تلفظ می کنند) که برگرفته از ویکی پدیا است می پردازم:


اصل کرکهُفس(Kerckhoffs) اصلی مهم در زمینهٔ سامانه‌های رمزنگاری است که بیان می‌دارد در ارزیابی امنیت این سامانه‌ها همواره باید فرض کرد که نفوذگران روش‌های به کار رفته در سامانه را می‌دانند و با آن آشنایند. بنا بر این اصل، امنیت سامانه نباید به پنهانی و محرمانه بودن الگوریتم‌های آن وابسته باشد، بلکه تنها باید به محرمانه‌بودن کلیدهای رمز متکی باشد.

این اصل به نام آگوست کرکهُفس نام‌گذاری شده است. سامانه‌های رمزنگاری نوین عموماً بر پایهٔ اصل کرکهافس بنا می‌شوند. هرچند امروزه استفاده از سامانه‌هایی که محرمانه‌بودن روش‌ها را اصل قرار می‌دهند همچنان رایج است، اما رمز چنین سامانه‌هایی معمولاً خیلی زود شکسته می‌شود و در دنیای اطلاعات امروزی محرمانه نگاه داشتن جزئیات فنی یک سامانه بسیار دشوار است؛ همچنین با پیشرفت روزافزون فناوری‌ها مدت زمان لازم برای شکستن رمزها روز به روز کاهش می‌یابد و به علت نامعلوم بودن میزان این پیشرفت‌ها نمی‌توان آن‌ها در طراحی سامانه دخیل کرد؛ ولی می‌توان محرمانه‌نگاه داشتن روش‌ها را به عنوان یک سطح امنتی بیشتر و به صورت ترکیبی با اصل کرکهُفس استفاده نمود.

او در دو مقاله‌ای که در سال ۱۸۸۳ در مجله علوم نظامی فرانسه (Le Journal des Sciences Militaires) چاپ کرد. این مقاله‌ها که با عنوان رمزنگاری نظامی منتشر شدند شامل شش اصل اساسی بودند که اصل دوم آن به عنوان یکی از قوانین اساسی در رمزنگاری مدرن مورد تأیید دانشمندان و زیربنای فعالیت و پژوهش قرار گرفت. در زیر اصول ششگانه کرکهُفس آمده‌اند:

۱) سیستم رمزنگاری اگر به لحاظ تئوری امن نیست، در عمل باید غیرقابل شکست باشد.

۲) سیستم رمزنگار باید هیچ نکته پنهان و محرمانه‌ای نداشته باشد بلکه تنها چیزی که باید سری نگاه داشت شود کلید رمز است. (اصل اساسی کرهافس) طراح سیستم رمزنگار نباید جزئیات سیستم خود را حتی از دشمنان مخفی نگاه دارد.

۳) کلید رمز باید به گونه‌ای قابل انتخاب باشد که اولاً بتوان به راحتی آن را عوض کرد و ثانیاً بتوان آن را به خاطر سپرد و نیازی به یادداشت کردن کلید رمز نباشد.

۴) متون رمزنگاری شده باید از طریق خطوط تلگراف قابل مخابره باشند.

۵) دستگاه رمزنگاری یا اسناد رمز شده باید توسط یک نفر قابل حمل باشد.

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


به امید افزایش دانش امنیتی همه دست اندرکاران حوزه فناوری اطلاعات و درگیر با امنیت سایبری-فیزیکی ، به ویژه مدیران محترم

دست به دست هم ، به مهر میهن خویش را کنیم آباد.