Skip links

مبانی رمزنگاری و آینده رمزنگاری

مبانی رمزنگاری

همانطور که در مقاله کریپتوگرافی یا علم رمزنگاری چیست؟ یک سیستم رمزنگاری از یک جفت الگوریتم تشکیل شده : یکی از آنها برای رمزنگاری و دیگری برای رمزگشایی.غالبا این الگوریتم ها از یک کلید منحصر به فرد استفاده می کنند که باید همیشه مخفی نگه داشته شوند.پس در این صورت تولید و اشتراک کلید منحصر به فرد جزیی از فرآیند سیستم رمزنگاری می باشد. در این مقاله سعی داریم به مبانی رمزنگاری بپردازیم.

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

استاندارد رمزگذاری AES به دلیل امنیت و کارایی آن توسط انجمن ریاضیدانان به دولت ها برای پنهان نگه داشتن اطلاعات طراحی شده است. علاقه مندان به استاندارد AES  میتوانند به لینک زیر سر بزنند.

استاندارد رمزنگاری پیشرفته (Advanced Encryption Standard) اینک به استاندارد مورد اعتماد دولت ایالات‌متحده در زمینه کریپتوگرافی تبدیل شده است.

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

تعاریف

اصطلاحات رمزنگاری

در اینجا چند تعریف از برخی اصطلاحات مربوط به رمزنگاری و سیستم رمزنگاری می پردازیم:

Cleartext

Cleartext یک داده قابل خواندن است که بصورت واضح و روشن در یکجا ذخیره شده است و به بیان دیگر رمزنگاری نشده است

Plaintext :

در این قسمت از مقاله مبانی رمزنگاری به تعریفرPlaintext می‌پردازیم در واقع ورودی یک الگوریتم رمزنگاری است ، هر داده ای به یک الگوریتم رمزنگاری وارد شود به عنوان Plaintext شناخته می شود

Ciphertext :

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

رمزگشایی یا  DECRYPTION

در این قسمت از مقاله مبانی رمزنگاری به تعریفرمزگشایی یا  DECRYPTION می‌پردازیم. فرآیند تبدیل داده های رمزگذاری شده به شکل اصلی آن برای استفاده ، یعنی تبدیل CIPHERTXT به  PLAINTEXT  است. رمزگشایی به کلید رمزگشایی نیاز دارد که اطلاعات خاص لازم برای “خنثی کردن” رمزگذاری را در اختیار شما قرار می دهد.

رمز گذاری یا Encryption چیست؟

همانطور که گفتم در گذشته Cryptography همان معنای Encryption را در بر میداشت اما در حال حاضر Encryption یکی از عناصر Cryptography محسوب میشود. حال منظور از Encryption یا رمز گذاری چیست؟

رمز گذاری یا Encryption به فرایندی گفته میشود که در آن اطلاعات خصوصی یا محرمانه با استفاده از الگوریتم های پیچیده (Cipher) به اطلاعات نا مفهوم یا غیر قابل فهم تبدیل شوند تا فقط افرادی که مجاز به دسترسی میباشند بتوانند با کلید (Key) مرتبط با الگوریتم آن اطلاعات نا مفهوم را دوباره به اطلاعات قابل فهم باز گردانند.

در Encryption به اطلاعات خصوصی یا محرمانه که به طور عادی قابل فهم و خوانا باشد Plain Text یا Clear Text میگویند و پس از تبدیل این اطلاعات توسط الگوریتم Cipher به اطلاعات نا مفهوم، به آن Cipher Text میگویند.

به فرایند باز گرداندن اطلاعات نامفهوم و غیر قابل فهم (Cipher Text) به اطلاعات قابل فهم و خوانا (Plain Text) رمز گشایی یا Decryption گفته میشود.

منظور از Cipher در رمزنگاری چیست؟

به طور کلی Cipher به معنای رمز است اما در رمزنگاری و رمز گذاری Cipher به الگوریتم های رمز گذاری (Encryption) و رمز گشایی (Decryption) گفته میشود. در واقع فرایند تبدیل Plain Text به Cipher Text و Cipher Text به Plain Text توسط جفت الگوریتم های Cipher انجام میشود.

مفهوم Cryptosystem در کریپتوگرافی چیست؟

در رمزنگاری به مجموعه از الگوریتم ها که با هم یک سرویس امنیتی برای حفظ امنیت و محرمانه ماندن اطلاعات ارائه میکنند را Cryptosystem میگویند. معمولا یک Cryptosystem شامل سه الگوریتم میباشد یک الگوریتم برای تولید کلید (Key Generation) یک الگوریتم دیگر برای رمز گذاری روی اطلاعات و یک الگوریتم دیگر برای رمز گشایی از اطلاعات.

نکته: زمانی از کلمه Cryptosystem استفاده میشود که الگوریتم Key Generation اهمیت داشته باشد در غیر این صورت به جفت الگوریتم های رمز گذاری و رمز گشایی همان Cipher میگویند.

 نکته بسیار مهم: معمولا برای اشاره به تکنیک Public Key یا Asymmetric Key از کلمه Cryptosystem استفاده میشود اما برای اشاره به تکنیک Symmetric Key از هر دو کلمه Cryptosystem یا Cipher استفاده میشود.

انواع Cryptosystem

به طور کلی دو نوع Cryptosystem وجود دارد:

سیستم متقارن (Symmetric)

  • سیستم متقارن (Symmetric): در مبانی رمزنگاری در سیستم متقارن فقط یک کلید برای رمز گذاری و رمز گشایی وجود دارد یعنی با کلیدی که اطلاعات رمز گذاری میشود با همان کلید هم اطلاعات رمز گشایی میشود. مدیریت و دسترسی به داده‌ها در سیستم Symmetric بخاطر کوتاه تر بودن کلید سریع تر از سیستم Asymmetric میباشد. از معروف ترین Cryptosystem های متقارن میتوان به Advanced Encryption Standard یا AES اشاره نمود.
رمزنگاری متقارن 
مقاله مبانی رمزنگاری و آینده کریپتوگرافی 
کلید عمومی و کلید خصوصی
رمزنگاری متقارن

سیستم نامتقارن (Asymmetric)

  • سیستم نا متقارن (Asymmetric): در مبانی رمزنگاری سیستم نا متقارن که به Public Key معروف است شامل دو نوع کلید میباشد یک کلید برای رمز گذاری روی اطلاعات که به آن Public Key گفته میشود و میتواند در اختیار عموم قرار گیرد و یک کلید دیگر برای رمز گشایی از اطلاعات که به آن Private Key گفته میشود و فقط در اختیار صاحب مجاز اطلاعات می‌باشد. سیستم نا متقارن امنیت بیشتری نسبت به سیستم متقارن دارد. دو Cryptosystem نا متقارن رایج RSA و ECC می‌باشند.
رمزنگاری نامتقارن 
مقاله مبانی رمزنگاری و آینده کریپتوگرافی 
کلید عمومی و کلید خصوصی
رمزنگاری نامتقارن

توجه کنید در این مقاله (رمزنگاری چیست؟) به صورت خیلی خلاصه به مبحث Cryptography پرداخیم اگر میخواهید به صورت جامع با Cryptography آشنا شوید بهتر است کتاب Cryptography and Network Security نوشته شده توسط Willam Stalings را مطالعه کنید. در قسمت منابع این کتاب را برای دانلود می گذاریم.

امضاهای دیجیتال: یک کد دیجیتالی است که توسط رمزگذاری کلید عمومی تولید و تأیید شده است و برای تأیید محتویات آن و هویت فرستنده به یک سند منتقل شده الکترونیکی وصل شده است.

این امضا براساس رمزنگاری کلید عمومی است که به رمزنگاری نامتقارن نیز معروف است. با استفاده از یک الگورتیم کلید عمومی مانند RSA، شخص می تواند دو کلید را تولید کند که به صورت ریاضی به هم مرتبط هستند: یکی خصوصی و یکی عمومی.

چه چیزی باعت امنیت سیستم های رمزنگاری میشود؟ : عملکرد یک طرفه آنها

آنچه باعث امنیت در رمزنگاری میشود ماهیت یک طرفه بودن آن هاست. به صورتی که وقتی داده ای به سیستم داده میشود رمزنگاری آن انجام می شود ولی رمزگشایی decryption  (یعنی بازیابی دادهای ورودی) در این سیستم غیر ممکن است یا تقریبا غیر ممکن می باشد. توجه داشته باشید که منظورمان از غیر ممکن در این علم غیرممکن محض نیست بلمه معکوس کردن آن با توجه به علم ریاضیت کنونی عملا بسیار زمان بر خواهد بود. برای مثال رمزگشایی rsa256  با سیستم های فعلی برای یک پیام عادی به مدت 1000 سال با توان 1 میلیون رایانه نیاز است تا رمزگشایی موفق باشد. هدف از این کریپتوگرافی های این است که انجام این کار آنقدر گران تمام شود که کسی حاضر به انجام آن نباشد. برای مثال در سیستم بلاکچین قدرت 51 درصدی سیستم نیاز است تا تغییرات ساختاری اتفاق بیفتد.

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

این مطلب را اگر لازم است دوباره مطالعه کنید چرا که در مبحث رمزنگاری بلاکچین بسیار به مفاهیم اینجا نیازمندید.

ماهیت حمله به سیستم های رمزنگاری

یک مهاجم یا attacker   همیشه سعی دارد کلید رمزگشایی را به دست بیاورد و در اصل به plaintext  برسد. یکی از ساده ترین حمله ها در این سیستم بروت فورس (brute force) می باشد که تمامی کلید های احتمالی را امتحان میکند تا به رمز برسد. این سبک حمله مثل این است که برای باز کردن یک در 100 میلیون کلید را امتحان کنیم تا یکی از آنها در را باز کند. این کار توسط نرم افزار های بروت فورس انجام می شود که در آنها دیتابیس های بسیاری برای حدس زدن کلید رمزگشایی دخیره شده است.

ما برای امنیت بیشتر در سیستم ها پیشنهاد میکنید به صورت دوره ای کلیدها تغییر کنند تا امنیت برقرار باشد.

امنیت در سیستم های رایانه ای امروز فراتر از کریپتوگرافی است. عموما امنیت تحت تاثیر دو عامل زیر تحت تاثیر قرار می گیرد:

1. اجرای نادرست الگوریتم های رمزگذاری
2. خطاهای انسانی

یک مدیر امنیت عموما مورد اول را میتواند بهبود ببخشد. اما امروزه خطاهای انسانی بیشترین تخریب را دارند. برای مثال حمله به توییتر در سال 2020 از خطاهای انسانی پیاپی نشات می گرفت. یکی از بدترین حمله ها در این عصر مهندسی اجتماعی Social engineering  می باشد، که بر پایه سو استفاده از اعتماد افراد میباشد.

برنامه های جدید

امروزه کریپتوگرافی به دلیل دیجیتالی شدن دارایی ها و سیستم ها رمزنگاری روز به روز بیشتر تاثیر می گذارد. یکی از بهترین و جدیدترین برنامه های رمزنگاری شامل سیستم TOR   می باشد که به طور مشهود امکان استفاده از اینترنت غیر قابل ردیابی برای فعالین سیاسی و روزنامه نگاران و هکرها فراهم می کند.

پیشنهاد می کنم حتما پادکست سیلک رود silkroad در بی پلاس را گوش دهید.

بزرگترین کاربرد رمزنگاری در فناوری بلاکچین می باشد. این فناوری پشت بیت کوین و سایر رمزارزها می باشد.

برای درک کامل بلاکچین به مقاله بلاکچین چیست سر بزنید.

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

با ظهور عصر هوش مصنوعی کریپتوگرافی بسیار کاربرد بیشتری پیدا می کند. با ظهور حملات گسترده و جنگ بین ماشین – ماشین، حفظ امنیت امری بسیار مهم تلقی می شود.

اهمیت رمزنگاری در اینترنت اشیا

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

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

اگر بخواهیم به صورت تیتروار به چند شیوه رایج و معروف رمزنگاری اشاره کنیم، استاندارد رمزگذاری (DES)، TripleDES، RSA، استاندارد رمزگذاری پیشرفته و Twofish از معروف ترین شیوه های رمزنگاری هستند.

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

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

به همین منظور ما میتوانیم در آینده شاهد برهم نهی بلاکچین و اینترنت اشیا باشیم.

رمزنگاری کوانتومی کلید افزایش امنیت اینترنت در آینده

آینده رمزنگاری از طریق رمزنگاری کوانتومی: پیشرفت­‌های اخیر در زمینه رایانه‌های کوانتومی دسترسی هکرها را به دستگاه­‌های پیشرفته­ ممکن ساخته که به راحتی می­‌توانند به پیچیده­‌ترین کدهای امنیتی اینترنتی استاندارد دسترسی یابند. با این کدهای رمزگشایی شده تمامی اطلاعات آنلاین از اطلاعات پرونده پزشکی تا مبادلات بانکی در معرض نفوذ هکرها قرار می­‌گیرد.

برای مقابله با این تهدید آتی، محققان از ویژگی­‌های رایانه‌های کوانتومی استفاده می­‌کنند، که برای ایجاد فرم­‌های ضد هک از رمزنگاری داده­ کوانتومی به طور نظری بهره می­‌برند.

در حال حاضر با کمک سیستم جدید توسعه یافته توسط دانشمندان دانشگاه “دوک”(Duke )، دانشگاه ایالتی “اوهایو” (Ohio State) و آزمایشگاه ملی “اوک ریج” (Oak Ridge)، این روش­‌های رمزنگاری کوانتومی می­‌توانند به کاربرد در مقیاس وسیع یک قدم نزدیک­­تر شوند. این سیستم قادر به ایجاد و توزیع کدهای رمزنگاری با سرعت مگابیت بر ثانیه است که پنج تا 10 برابر سریع­‌تر از روش­‌های موجود است و سرعتی برابر با سرعت­ اینترنتی زمانی­که چندین سیستم به طور همزمان کار می­‌کنند، دارد.

با توجه به آخرین تحقیقات صورت گرفته که در کتاب  [1] The Official (ISC)2 Guide to the CISSP CBK Reference منتشر شده است رمزنگاری ها در آینده به رمزنگاری های کوانتومی و رمزنگاری های پسا کوانتومی ارتقا می یابند که این امر باعث بهبود رمزنگاری برای آینده می باشد.

نتیجه گیری

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

فهرست منابع:

نتیجه گیری

دیدگاه خود را بیان کنید

نام*

وبسایت

دیدگاه

  1. من مقاله منبع معرفی شده را مطالعه کردم. واقعا ممنونم از ذکر منابع و نگارش شیوای شما مهندس .
    اگر در باره رمزنگاری و اینترنت اشیا بیشتر برامون بنویسید عالی میشه

مشاوره رایگان تلفنی