تاریخچه رمزنگاری

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

تاریخچه رمزنگاری
تاریخچه رمزنگاری

انسان‎ها از اولین روزهایی که پا به عرصه زمین گذاشتند، به دنبال برقراری ارتباط با یکدیگر بودند. آنها با کمک آواها و اصوات با یکدیگر ارتباط برقرار می‎کردند. همچنین با کمک گرفتن از نمادها(Symbol) و ترسیم نقش و نگارها، پیام‎هایی را برای آیندگان ثبت می‎کردند.

با توجه به رسم‎الخط‎ها و زبان‎ها، انسان‎ها در قالب گروه‎ها و جوامع مختلفی جای گرفتند. رقابت بر سر مزارع و مراتع باعث می‎شد تا آنها با یکدیگر دچار نزاع‎ بشوند. در این مواقع بود که برای انتقال پیام و مفاهیم به افراد مجاز و خودی از رسم‎الخط‎های مخصوصی استفاده می‎شد. معمولا خواندن این رسم‎الخط نیاز به یک کلید رمز داشت تا بتوان پیام موجود در آن را رمزگشایی کرد.

رمزنگاری و زبان‎های باستانی

خط میخی، اولین خطی بود که بشر(سومری‎ها) آن را اختراع کردند. تا قرن نوزدهم معنا و مفهوم این زبان برهمه پوشیده بود. تا اینکه بالاخره دانشمندان زبان‎شناسی توانستند از این زبان رمزگشایی کنند.

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

در بین‎النهرین نیز از رمز برای مخفی نگهداشتن فرمول ساخت ظروف سفالی استفاده می‎شده است. عبری‎ها هم در نوشتن کتاب مقدس ارمیای نبی از نوعی رمز خاص که به ATBASH معروف است استفاده می‎کرده‎اند. این شثیوه رمزنگاری شباهت بسیاری به رمز جانشینی دارد.

یونانیان، اولّین گروهی بودند که برای رمزنگاری از کلید رمز بهره می‎بردند. آنها پاپیروس‎های خود را بر دور نواری با طول مشخص می‎پیچیدند و سپس پیام خود را بصورت افقی برروی آن می‎نوشتند. فقط کسی می توانست این پیام را بخواند که نواری با طول مشخص در اختیار می‎داشت(کلید رمز).

ژولیوس سزار با استفاده از جانشینی کارکترها، متون را رمز و آنها را برای سربازان خود ارسال می‎کرد. بسیاری قرآن کتاب بزرگ مسلمانان را یک شیوه رمزنگاری پیشرفته بین خداوند متعال و پیامبر اسلام می‎دانند. رمزی که هنوز با گذشت بیش از 1400 سال، هنوز کسی نتوانسته است رموز آن را کشف کند.

علم رمز در اعصار جدید

در سال 1587 میلادی ملکه اسکاتلند یک نامه رمز شده را برای یک شورش عظیم در دربار ملکه الیزابت تهیه کرد. امّا این نامه توسط توماس فلیپس وزیر دربار بریتانا کشف و رمزشکنی شد و خیانت ملکه اسکاتلند برملا گردید. بلافاصله ملکه اسکاتلند به فرمان ملکه الیزابت گردن زده شد.

در سال 1626 لوئی چهاردهم از یک شیوه رمز به نام Great Cipher بهره می‎برد که حروف فرانسوی با اعداد جایگزین می‎شدند.

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

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

رمزنگاری آکادمیک

در سال 1971 سیستم رمزنگاری متقارن توسط لوسیفر در IBM ابداع و تکمیل گردید.این شیوه رمزنگاری بعدها منجر به طراحی رمزنگاری DES گردید. از این دوران بود که تحقیقات گسترده‎ای در زمینه رمزنگاری به صورت آکادمیک در دانشگاه‎ها صورت پذیرفت. با پیشرفت کامپیوترها و شبکه جهانی اینترنت ، نیاز به رمزنگاری و حفاظت از اطلاعات بیش از پیش مورد توجه قرار گرفت.

مفهوم امنیت اطلاعات

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

مفهوم امنیت اطلاعات
مفهوم امنیت اطلاعات

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

نگاهی به واژه نامه امنیت سایبری

امنیت اطلاعات و اهداف آن

مجموعه روش‎ها و تمهیداتی که در حوزه امنیت اطلاعات صورت می‎پذیرد، درصدد تحقق یکی از اهداف زیر می‎باشند:

  1. تمهیداتی که اطمینان می‎دهند، رخدادهای ناخوشایند هرگز حادث نمی‎شوند.
  2. تمهیداتی که احتمال وقوع رخدادهای خطرناک را کاهش می‎دهند.
  3. تمهیداتی که نقاط حساس به تخریب و تجهیزات استراتژیک را در سطح شبکه توزیع می کنند تا احتمال نابودی کل شبکه کاهش یابد.
  4. تمهیداتی که اجازه می‎دهند به محض وقوع رخدادهای خطرناک، شرایط در اسرع وقت و با کمترین هزینه به حالت عادی برگردد و کمترین خسارت را برجا گذارد.

متاسفانه تمهیداتی که در زمینه امنیت اطلاعات صورت می‎پذیرند، کاملا شبیه یک شمشیر دو لبه می‎باشند که هر چه دقیق‎تر و مفصل‎تر به اجرا گذاشته شوند مشکلات دیگری را بوجود می آورند، چرا که :

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

ثانیا، هزینه‎های پیاده‎سازی و نگهداری سیستم را به شدت بالا می‎برند.

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

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

متاسفانه امنیت اطلاعات در برخی از موارد با محدودیت‎هایی که ایجاد می‎کند می‎تواند جریان آزاد اطلاعات را بخطر بیاندازد.

بزرگترین چالش‎های پیشروی مکانیزم‎های امنیتی

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

حفاظت از داده‎ها
حفاظت از داده‎ها
  • حفظ امنیت در سیستم‎های ناسازگار، کاری پیچیده و مشکل است.
  • ایجاد اتصال امن بین دو سیستم ناهمگن، سختی‎های خاص خودش را به همراه دارد.
  • نیازها و اهداف امنیتی در سیستم‎های مختلف با یکدیگر تفاوت‎های اساسی دارند.
  • بخشی از امنیت یک سیستم به هوش فردی و رعایت ضوابط امنیتی توسط تک‎تک کاربران وابسته است.
  • تمام راههای ورودی و خروجی یک سیستم باید به دقت تحت نظارت و مراقبت باشند.
  • هزینه‎های پیاده‎سازی تمهیدات امنیتی باید در سطح معقول و نسبتا پایینی باشد.
  • تمهیدات امنیتی نباید دست و پاگیرتر باشند و سیستم را از بهره‎وری ساقط نمایند.

بلاکچین چیست؟ بررسی بلاکچین بعنوان ابزاری برای تامین امنیت اطلاعات

موفقیت یک سیستم امنیتی

بهترین حالت برای حفظ امنیت اطلاعات زمانی رخ می‎دهد که کاربران مُجاز و افراد خودی برای دسترسی به اطلاعات مورد نیازشان اصلا دچار سختی نشوند. در حالیکه افراد غیرمجاز با یک حصار تاریک و غیرقابل نفوذ مواجه شوند.

معمولا برای حفظ امنیت اطلاعات، مکانیزم‎های امنیتی را بر پایه بدبینی مفرط و وسواس طراحی می‎کنند. طراحان امنیتی فرض را بر این می‎گذارند که دشمن همواره در کمین نشسته و منتظر کوچکترین فرصت و رخنه امنیتی برای نفوذ به یک سیستم می‎باشد.

طراحان، کوچکترین احتمالات حمله از سوی مهاجمین را در نظر می‎گیرند و برای آن احتمالات ضعیف هم برنامه‎ریزی و تدبیر می‎کنند.

جنگ واقعی در امنیت اطلاعات

بزرگترین چالش در دنیای امنیت اطلاعات از آنجا پیش می‎آید که همواره یک نبرد و جدل واقعی بین الگوریتم‎های امنیتی و هوش(خرد) انسانی وجود خواهد داشت. الگوریتم امنیتی توسط برنامه نویسان طراحی و برروی ماشین قرار می‎گیرد. امّا مهاجمین با ذکاوت خود سعی در ناکارآمد کردن آن دارند.

مهاجمین با صبر و شکیبایی به دنبال یافتن کوچکترین رخنه‎ها برای نفوذ به یک سیستم و رسیدن به اهدافشان می‎باشند. این در حالی است که الگوریتم امنیتی یک برنامه ثابت است که توانایی درک تغییرات و شرایط مختلف را ندارد.

آشنایی با توابع هش (درهم‎سازی )

درهم‎سازها یا توابع هش (Hash Function) ، نوعی از توابع نگاشت نامتناظر هستند که رشته‎ای طولانی از داده‎ها را از ورودی دریافت می‎کنند و در خروجی یک رشته با طول ثابت را تحویل می‎دهند. در واقع توابع هَش را می‎توان یک اثر انگشت منحصربفرد برای داده‎های دیجیتال یا یک متن بحساب آورد.

توابع هش
توابع هش

معمولا از توابع هش در امضاهای دیجیتال، احراز هویت، اسناد دیجیتال، اوراق بهادار دیجیتال و … استفاده می‎کنند. یکی از کاربردهای مهم توابع درهم‎ساز، بلاک‎چین یا همان زنجیره بلوکی (Block Chain) می‎باشد.

توابع هش و ساختار آنها

چکیده پیام
شکل 1 : چکیده پیام

همانطور که در شکل 1 مشاهده می‎شود، توابع درهم ساز با اعمال شدن بر روی یک پیام، چکیده‎ای منحصربفرد از آن را بوجود می‎آورند. توابع هَش بایستی دارای ویژگی‎های گوناگونی باشند تا بتوانند امنیت مناسبی را ارائه دهند.

باید توجه داشت که فرآیند درهم‎سازی، یک فرآیند یک طرفه است. بدین معنا که چکیده یک پیام را می‎توان با کمک یک Hash Function بدست آورد، امّا از روی یک چکیده پیام با فرض دانستن Hash Function مربوطه نمی‎توان، پیام اصلی را استخراج کرد.

درحقیقت توابع هَش، گونه‎ای از توابع رمزنگاری هستند که فرآیند رمزکردن را بصورت یک‎طرفه انجام می‎دهند. اینگونه توابع کاربردهای زیادی در رمزنگاری و امنیت داده‎ها دارند.

ویژگی‎های توابع درهم‎ساز

یک تابع درهم‎ساز برای اینکه بتواند قدرت لازم را داشته باشد و امنیت داده‎ها را تامین کند، بایستی دارای ویژگی‎های زیر باشد:

  1. باید محاسبه چکیده پیام از روی داده بسیار ساده و آسان باشد.
  2. محاسبه اصل پیام از روی چکیده بسیار سخت و زمانبر باشد(باید تابع درهم‎ساز یک طرفه باشد).
  3. کوچکترین تغییر در ورودی یک تابع درهم‎ساز، خروجی را به شکل غیرقابل باوری تغییر دهد.
  4. پیداکردن دو متن که با اعمال یک Hash Function ، چکیده یکسانی را تولید کنند، کاری سخت و دشوار باشد.
  5. طول پیام ورودی می تواند بسیار طولانی و بلند باشد، امّا طول چکیده پیام نباید زیاد بلند باشد.

بزرگترین مشکل توابع هش، برآورده کردن ویژگی شماره 4 می‎باشد. همین ویژگی شماره 4 بود که باعث شکست شیوه درهم‎سازی MD5 در سالیان گذشته گردید.

معرفی انواع توابع درهم‎ساز

در گذر زمان، شاهد انواع هَش فانکشن‎ها بوده ایم. دلیل کنار گذاشته‎شدن یک تابع هش، شکسته شدن آن می‎باشد. بدین معنا که ویژگی شماره 4 که در بالا درباره آن صحبت کردیم، نقض می‎شود.

در اینجا به معرفی چند دسته از معروفترین توابع می‎پردازیم:

الگوریتم های هش
ساختار الگوریتم های هش

1- الگوریتم MD5

این روش توسط آقای رونالد ری‎وست در سال 1991 عرضه گردید. این الگوریتم در سالیان اخیر کاربردهای بسیار در حوزه امنیت شبکه و امنیت داده پیدا کرده است. امّا در سال 2006 توسط یک لپ‎تاپ در عرض یک دقیقه جعل شد و یک چکیده برای دو پیام متفاوت ایجاد گردید.

این موضوع به معنای شکست این هش فانکشن بود.

2- الگوریتم SHA1

بعد از شکست MD5، اداره استاندارد و فناوری‎های مدرن آمریکا، الگوریتم SHA1 را معرفی کرد. امّا این الگوریتم هم دوام چندانی نیافت و مانند MD5 توسط کامپیوترهای قدرتمند و بوسیله یک تیم از هکرهای چینی به سرپرستی ژیایو ونگ درهم کوبیده شد.

3- الگوریتم SHA2

این الگوریتم که بعنوان جایگزینی برای SHA1 معرفی شد دارای نسخه‎هی مختلفی می‎باشد. SHA256، SHA512 و SHA224 معروفترین نسخه‎های این الگوریتم هستند. عدد انتهایی در این نسخه‎ها، طول چکیده ایجاده شده به بایت را نشان می‎دهد.

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

4- الگوریتم SHA3

از آنجایی که با پیشرفت کامپیوترها و بحث ورود تکنولوژی کوانتومی به تجهیزات دیجیتال، احتمال شکست SHA2 به شدت قوّت گرفته است. بنابراین محققان به دنبال ارائه الگوریتم SHA3 هستند تا در صورت شکست SHA2 آن را جایگزین کنند.

کارشناسان امنیت تنها شش ماه بعد از شکست SHA2 فرصت دارند تا نسخه جدید یک تابع درهم‎ساز را ارائه کنند در غیر اینصورت شاهد جعل گسترده اطلاعات خواهیم بود.

و در پایان …

مطابق اصل کرکهف در رمزنگاری، توابع درهم ساز برای همه آشکار هستند. بنابراین باید قدرت یک تابع هش را در مواردی دیگر جستجو کرد. شکست یا برخورد (Collision) نقطه پایانی برای توابع هش می باشد. بنابراین، همواره هکرهای کلاه سفید به دنبال یافتن این برخورد قبل از هکرها می‎باشند.

بلاک‎چین چیست؟

زنجیره بلوکی یا زنجیره بستگی یا همان بلاک‎چین (Block Chain) یک سیستم توزیع اطلاعات دیجیتال می باشد. بلاک‎چین را می‎توان یک دفتر کل دیجیتالی دانست که تخریب آن بسادگی امکانپذیر نمی‎باشد. چنین پایگاه داده‎ای می تواند برای تراکنش های حساس مالی بسیار سودمند باشد.

بلاکچین چیست؟
بلاکچین چیست؟

بلاک‎چین و تاریخچه پیدایش آن

این تکنیک برای اولیّن بار در سال 1991 میلادی توسط گروهی از پژوهشگران شرح و بسط داده شد و در اصل به منظور زمانبندی اسناد دیجیتال به کار گرفته می‎شد تا دیگر امکان تغییر تاریخ و دستکاری اطلاعات وجود نداشته باشد.

در سال 2009 ساتوشی ناکاموتو با معرفی بیت‎کوین توانست یک انقلاب بزرگ را در بلاک‎چین رقم بزند. ایجاد یک کاربرد بزرگ در تراکنش‎های مالی توانست، تکنولوژی بلاکچین را بیش از قبل بر سر زبان‎ها بیندازد.

بلاک‎چین و بیت‎کوین

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

امّا واقعیت این است که این دو مفهوم با یکدیگر تفاوت دارند.(در پست دیگری بطور مفصل به بررسی مفهوم بیت‎کوین خواهیم پرداخت). تنها ارتباط این دو مفهوم در این است که بیت‎کوین یا همان پول اینترنتی برای حفظ و ارتقاء امنیت خود از فناوری بلاک‎چین استفاده می‎برد.

ویژگی‎های بلاک‎چین

بلاک‎چین دارای یکسری ویژگی‎های جذاب می‎باشد. وقتی مقادیری از اطلاعات در یک زنجیره بلوکی ثبت و ذخیره می‎شوند، تغییر دادن آنها اصلا کار آسان و ساده‎ای نیست.

مهمترین ویژگی‎های بلاک‎چین عبارتند از :

  1. بلاک‎چین می تواند بصورت عمومی(مانند اینترنت) یا بصورت خصوصی (مانند اینترانت) باشد.
  2. بلاک‎چین هنوز در ابتدای راه توسعه خود قرار دارد و به مرور زمان تغییرات بسیاری خواهد کرد.
  3. در حال حاضر طبق برآوردها 0.5% از مردم جهان از بلاکچین استفاده می‎کنند. این درحالی است که بیش از 60% از مردم جهان به اینترنت دسترسی دارند. این وضوع امکان رشد بلاک چین را در سال‎های آینده نشان می‎دهد.
  4. شرکت‎های بزرگ حوزه فناوری به شدّت برروی بلاک‎چین و فناوری‎های مرتبط با آن نظیر اینترنت اشیا سرمایه گذاری کرده‎اند.
  5. مهمترین دلیل محبوبیت بلاک‎چین شفافیّت و قابلیت اطمینان بالای آن در تراکنش‎های گوناگون می‎باشد(مالی و غیرمالی).
  6. بلاک‎چین، آینده صنعت بانکداری در جهان خواهد بود.
  7. با توسعه و گسترش بلاکچین و اینترنت اشیا، شبکه‎های اجتماعی امروزی با تغییرات گسترده‎ای مواجه می‎شوند.
  8. بلاک‎چین بیشترین تاثیر خود را برروی صنعت خرده فروشی (Retail) خواهد گذاشت.
  9. همانطور که توسعه بلاک‎چین باعث ایجاد مشاغل جدید خواهد شد، بسیاری از مشاغل سنتّی را از بین خواهد برد.
  10. ناشناس ماندن، مقیاس‎پذیری، مصرف انرژی بالا در فرآیندهای مرتبط با ماینینگ، عدم وجود قوانین مرتبط و… از جمله خصیصه های ملموس این تکنولوژی پیشرفته می‎باشد.

کاربردهای Block Chain :

با معرفی ویژگی های بلاکچین در بخش قبلی، در اینجا به معرفی مهمترین کاربردهای این صنعت نوپا می پردازیم:

  • بانکداری ، بیمه و پول دیجیتال
  • صنعت
  • پزشکی
  • اینترنت اشیا
  • ذخیره‎سازی و انتقال داده‎ها
  • مدیریت داده‎ها
  • رعایت کپی رایت در رسانه‎های دیجیتال
  • مدیریت زنجیره تامین
  • قراردادهای هوشمند
  • اوراق بهادار

اهمیت بلاکچین در حوزه‎های مختلف

اهمیت بلاکچین بعنوان یک سیستم توزیع شده در این است که دارای یک استحکام قابل قبولی می‎باشد. ذخیره بلوک‎های اطلاعاتی در یک زنجیره توسط هیچ نهادی کنترل نمی‎شود و یک زنجیره به راحتی قابل شکست نمی باشد. تمامی این موارد به ساختار یک بلوک مرتبط می‎شود.

ساختار بلوک

همانطور که در شکل زیر دیده می‎شود، هر بلاک در زنجیره‎بلوکی دارای سه بخش اصلی زیر می باشد:

  1. داده
  2. تابع درهم ساز داده ها (Hash Function)
  3. هش بلاک قبلی
ساختار هر بلوک در بلاک‎چین
ساختار هر بلوک در بلاک‎چین

در هر بلاک، فرمت‎های مختلفی از داده‎ها می‎توانند ذخیره شوند. مثلا در بلوک‎های بیت‎کوین، جزئیاتی درباره تراکنش‎های مالی، حساب مبدا، حساب مقصد و مبلغ تراکنش ذخیره می‎شود.

در بلاک‎چین، هر بلاکی دارای هش مخصوص به خود می‎باشد. هَش برای بلاک مثل اثر انگشت برای انسان‎ها می باشد. تابع هَش هویت بلاک و کل محتوایاتش را تایید می‎کند و همواره منحصربفرد است. کوچکترین تغییر در اطلاعات یک بلاک باعث تغییر هش آن بلاک می‎شود. (هش یا تابع درهمساز یک چکیده از کل داده می‎باشد. کوچکترین تغییر در داده، این چکیده را به شکل نامعلومی تغییر خواهد داد).

هَش ابزاری پرکاربرد برای بلاک چین است و در واقع نقطه قوت و اتکای بلاکچین می‎باشد. اگر هش یک بلاک تغییر کند آن بلاک دیگر بلاک سابق نمی‎شود و هرگز نمی‎تواند در زنجیره بلوکی جایگاهی داشته باشد.

نگاهی به امنیّت بلاکچین

زنجیره بلوکی
زنجیره بلوکی

باید توجه داشت که امنیّت بلاک‎چین تنها با هَش بلاک جاری تامین نمی‎شود. بلکه ذخیره هش بلاک قبلی در بلاک جدید باعث می‎شود تا هرگز امکان تغییر یک هَش وجود نداشته باشد.

در واقع برای تغییر هَش یک بلاک، نیاز است تا مقادیر هش مجموعه‎ای از بلوک‎ها تغییر کند که این موضوع عملا کاری سخت و دشوار می‎باشد.

باید توجه داشت که کوچکترین تغییر در یک بلاک، باعث نامعتبر شدن سایر بلاک‎های بعد از آن می‎شود. با توجه به زمانبر بودن محاسبه هش و مکانیسم پیچیده آن احتمال ایجاد تغییر در کل زنجیره بلوکی، فرآیندی پیچیده خواهد بود.

انتشاریافته در سایت رمزلند(سرزمین رمز)