همه آن چیزی که باید درباره رمزنگاری اطلاعات بدانید – مفیدترین منابع آموزش رمزنگاری
آموزش رمزنگاری به زبان ساده
شاید ده سال پیش، اصلاح رمزنگاری (Encryption) فقط در میان مهندسان و متخصصان کامپیوتر و امنیت اطلاعات رایج بود ولی این روزها هر کاربر ساده اینترنت نیز میداند که باید از رمزنگاری برای محافظت از اطلاعات و دستگاههای خود در برابر تهدیدات اینترنت و فضای آنلاین استفاده کند.
همه دنبال اپلیکیشنهای پیامرسان و تبادل اطلاعاتی هستند که از رمزنگاری انتها به انتها (End-to-End Encryption) استفاده کنند یا میخواهند اطلاعات حساس خود روی هارددیسک و سیستمعامل را به صورت رمز ذخیره کنند تا حتی در زمان گم شدن دستگاه آنها و دسترسی افراد غریبه به این اطلاعات، قابل خواندن و سرقت نباشند.
همینطور، غالب کاربران متوجه شدند که هزاران چشم در وبگردی به دنبال ردیابی رفتارها و فعالیتهای آنلاین آنها هستند تا به شرکتهای تبلیغاتی بفروشند و لذا دوست دارند به صورت کاملا خصوصی و امنی وارد اینترنت شوند و حریم خصوصی خود را محافظت کنند.
اما واقعا رمزنگاری شبکه یا رمزنگاری (network encryption) یا رمزنگاری انتها به انتها چیست و چگونه از اطلاعات دیجیتالی ما محافظت میکنند؟ اینکه برخی اوقات گفته میشود یک اپلیکیشن از رمزنگاری متقارن یا رمزنگاری نامتقارن استفاده میکند؛ به چه معنی است و آیا واقعا راهی برای شکستن رمزنگاری و خواندن اطلاعات نیست؟
آشنایی با مفاهیم رمزنگاری فقط برای محافظت از دادهها و اپلیکیشنهای ما در فضای مجازی و اینترنت نیست. اگر شما بخواهید دورههای آموزشی معتبر بینالمللی در امنیت شبکه، مهندسی شبکه، مهندسی کامپیوتر و غیره را بگذرانید، برای آزمونهای بینالمللی آماده شوید؛ باید کاملا با مفاهیم کلیدی رمزنگاری اطلاعات آشنایی داشته باشید. برای این منظور می توانید از آموزشهای آنلاین موجود در سایت فرادرس استفاده نمایید. در لینک زیر درباره شبکه و امنیت شبکه مطالب مفیدی ارائه شده است:
رمزنگاری چیست؟
هر زمانی که شما یک سری اطلاعات خصوصی را از روی سرور، کامپیوتر یا هر دستگاهی از طریق اینترنت برای سرور، کامپیوتر یا دستگاه دیگری ارسال میکنید؛ خطر سرقت و شنود این اطلاعات و سوءاستفاده از آنها وجود دارد.
معمولا ما این کار را بارها و بارها در طی روز انجام میدهیم و فایلها، اطلاعات شخصی بانکی و کاری، کپی شناسنامه و کارت ملی یا موقعیت محل زندگی و بسیاری اطلاعات دیگر را از طریق گوشی موبایل و لپتاپ و تبلت در نرمافزارهای مختلف برای دیگران میفرستیم.
اگر بخواهیم مثالی برای این وضعیت بزنیم؛ باید به داستان شنل قرمزی اشاره کنیم که مادرش تنها او را از وسط جنگل به دیدن مادربزرگاش میفرستند و در جنگل دهها خطر انتظارش را میکشد.
بستههای داده شامل هر اطلاعاتی از فیلم و صوت گرفته تا ایمیل و یک شماره ساده متنی، در اینترنت از دهها روتر و سوئیچ و دستگاه ناشناخته عبور کرده و هر هکر، سازمان، شرکت تبلیغاتی یا جاسوسی میتواند آنها را رهگیری و سرقت کند. برای محافظت از دادههای خود در این مسیر پر خطر به رمزنگاری نیاز دارید. اگر تمایل دارید تا درباره آموزش شبکههای کامپیوتری بیشتر بدانید، سایت معرفی شده در زیر برای شما بهترین انتخاب است. برای مشاهده این مجموعه آموزشها، روی لینک زیر کلیک کنید:
رمزنگاری به طور موثری دادهها و محتویات پیامهای ما را از چشم کنجکاو پنهان میکند و فقط از طریق یک فرآیند رمزگشایی قابل بازیابی و خواندن هستند. رمزگذاری و رمزگشایی اطلاعات یک تکنیک متدوال در ارتباطات ایمن است که تاریخچه آن به زمان اینترنت و شبکه برنمیگردد؛ بلکه شاید از اولین روزهای ارسال پیام انسانها برای یکدیگر مورد استفاده قرار گرفته است.
چگونه رمزنگاری از دادههای شما محافظت میکند؟
در دنیای امروز، فرآیندهای رمزگذاری و رمزگشایی مختلفی که الگوریتم نامیده میشود؛ مطرح شدند اما اکثر الگوریتمهای رمزگذاری با استفاده از کلیدهای عمومی و خصوصی سطح بالایی اقدام به حفاظت از دادهها میکنند.
رمزگذاری فرآیند درهم آمیختن دادهها است به گونهای که خواندن و درک آن فقط برای طرفین ارسال و دریافت پیام میسر باشد و برای هر فرد دیگری غیرممکن باشد.
وقتی در منبع پیامی میخواهد ارسال شود؛ دادهها به استفاده از یک الگوریتم یا کلید درهم مخلوط شده و از شکل اصلی خود خارج میشوند. وقتی در مقصد، گیرنده پیام میخواهد این اطلاعات را مشاهده کند؛ دادههای مخلوط شده به شکل اصلی خود بازمیگردند تا خواندنی و قابل فهم باشند. این فرآیند در دستگاه گیرنده را رمزگشایی میگویند.
چند اصطلاح رایج رمزنگاری
برای اینکه وارد دنیای رمزنگاری شوید؛ ابتدا باید چند اصطلاح و تعریف کلیدی را با هم مرور کنیم:
دادهها و اطلاعات رمزنگاری نشده را «متن ساده» (plain text) مینامیم!
دادههای رمزنگاری شده را «ciphertext» میگوییم و فرآیند یا مکانیزم محاسباتی و کامپیوتری که براساس آن دستورالعمل رمزنگاری دادهها انجام میشود را «الگوریتم رمزنگاری» (encryption algorithm) خواهیم خواند. الگوریتمهای رمزنگاری در قالب نرمافزار هستند.
الگوریتمها از کلید رمزنگاری (encryption key) برای درهم ریختن یک متن ساده استفاده میکنند؛ بهطوریکه فقط با همان کلید دوباره میتوان با همان الگوریتم اطلاعات را رمزگشایی کرد و به دادههای اصلی رسید.
کلید رمزنگاری یک رشته طولانی از اعداد مانند زیر است که نیازی نیست به خاطر بسپارید یا به آن اهمیت دهید. نرمافزارها وظیفه تولید، نگهداری و استفاده از کلید رمزنگاری را برعهده دارند:
مثالی از یک کلید رمزنگاری: ۰۰۰۰۱۰۱۰ ۰۱۱۰۱۰۰۱ ۱۰۰۱۱۱۱۰ ۰۰۰۱۱۱۰۰ ۰۱۰۱۰۱۰۱
لایه سوکت امن (Secure Socket Layer) یا پروتکل SSL و نسخه بهروز شده آن Transport Layer Security یا TLS، استاندارد رایج رمزنگاری در وب است. وقتی وارد سایتی میشوید که دادههای شما را رمزنگاری میکند؛ معمولا اطلاعات خصوصی شما مانند اطلاعات شخصی، رمزعبور، شماره کارت اعتباری و دادههای دیگر توسط همین الگوریتمها رمزنگاری میشوند. نشانههایی وجود دارد که مطمئن شوید اطلاعات شما رمزنگاری شده و کاملا امن استفاده میشوند.
وقتی میخواهیم وارد سایتی شویم؛ اگر ابتدای آدرس URL آن سایت با HTTPS شروع شود؛ یعنی از پروتکل SSL یا TLS برای رمزنگاری اطلاعات استفاده میکند.
در ارتباطات بیسیم وایفای هم از پروتکلهایی مانند WPA و WPA2 و WEP برای رمزنگاری اطلاعات میان روتر و دستگاه گیرنده شما استفاده میشود.
برای آشنایی بیشتر با اصطلاحهای دنیای رمزنگاری میتوانید مطلب «۱۰ اصطلاح رایج رمزنگاری که باید بدانید — به زبان ساده» را بخوانید!
رمزنگاری متقارن در برابر رمزنگاری نامتقارن
در همه منابع آموزش رمزنگاری، یک مثال معروف برای تشریح مفاهیم رمزنگاری متقارن و رمزنگاری نامتقارن وجود دارد: تام میخواهد یک پیام خصوصی برای هری ارسال کند. پیام از طریق الگوریتم رمزنگاری منتقل میشود و باید با کلید، رمزنگاری میشود. در حالیکه الگوریتم برای همه در دسترس است؛ کلید یک راز میان تام و هری است. اگر هکر بتواند یک پیام cyphertext یا رمزنگاری شده را رهگیری کند؛ نمیتوان آن را به متن ساده تبدیل یا رمزگشایی کند؛ مگر اینکه کلید را داشته باشد.
این پروسه را رمزنگاری متقارن (Symmetric Encryption) مینامیم که یک کلید یکسان برای رمزنگاری و رمزگشایی در هر دو طرف استفاده میشود. مشکل بزرگ رمزنگاری متقارن این است که باید هر دو طرف یک کلید یکسان و مشابه داشته باشند. وقتی بخواهیم کلید رمزنگاری را برای طرف دیگر بفرستیم؛ این خودش یک خطر بزرگ ایجاد میکند و روشی موثر نیست.
راهحل رمزنگاری نامتقارن (Asymmetric Encryption) است. در این روش، دو کلید عمومی و خصوصی توسط هر طرف استفاده میشود. یعنی هم در مبدا و هم در مقصد باید این دو کلید در دسترس باشند تا اطلاعات رمزگذاری یا رمزگشایی شوند. کلید عمومی برای هر دو طرف یکسان است ولی کلید خصوصی اختصاصی در دست هر طرف است که دیگری ندارد.
در مثال بالا، تام و هری در رمزنگاری نامتقارن دارای یک کلید عمومی هستند ولی تام از کلید خصوصی خودش برای رمزگذاری پیام استفاده میکند و هری پس از دریافت پیام، از کلید خصوصی خودش برای رمزگشایی پیام استفاده میکند. در این روش، هیچیک از طرفین نمیتواند کار دیگری را انجام دهد و پیامها را رمزگذاری یا رمزگشایی کند؛ چون کلید خصوصی طرف مقابل را ندارد.
رمزنگاری انتها به انتها چیست؟
شاید این روزها شنیده باشید که واتساپ رمزنگاری انتها به انتها (End-to-End Encryption) استفاده میکند یا گفته میشود پیامرسانهای تلگرام و فیستایم اپل امن هستند؛ چون رمزنگاری انتها به انتها دارند.
رمزنگاری سراسری یا انتها به انتها یک نمونه از رمزنگاری نامتقارن است. در رمزنگاری انتها به انتها، دادهها به طور کامل در طول مسیر محافظت شده و فقط در دستگاه دو طرف قابل خواندن هستند؛ یعنی توسط فرستنده و گیرنده پیام!
معروف است که فیسبوک درباره واتساپ میگوید که حتی مهندسان این شرکت هم نمیتوانند پیامهای کاربران واتساپ را بخوانند و فقط فرستنده و گیرنده پیام قادر به خواندن آنها هستند. هیچکس دیگری از جمله هکرها، سازمانهای جاسوسی و خرابکاری، دولتها و مالکان سرورها و اینترنت نمیتوانند دادههای رمزنگاری انتها به انتها را بخوانند.
در رمزنگاری انتها به انتها، نکات مهم دیگری هم هست که باید مورد توجه قرار بگیرد و معمولا در آموزش امنیت شبکه جزئیتر بررسی میشوند. برای مشاهده آموزش مرتبط، به سایت فرادرس مراجعه نمایید:
اگر بخواهیم مثالی در این زمینه بزنیم، در واتساپ وقتی ما یک پیام را از گوشی تلفن همراه خود برای دوستمان میفرستیم؛ پیام فقط در گوشی ما و گوشی دوست ما رمزگشایی شده است و حتی روی سرورهای واتساپ هم به صورت رمزنگاری شده ذخیره میشود. برای همین، مهندسان واتساپ و فیسبوک نمیتوانند به محتوای این پیامها دسترسی پیدا کنند.
در رمزنگاریهای دیگر، معمولا دادهها در طول مسیر رمزنگاری شده و روی سرورهای داخلی آنها رمزنگاری شده نیست. در این صورت، دادهها فقط از چشم هکرهای خارجی پنهان است ولی مهندسان و کارمندان داخلی یک شرکت میتوانند پیامهای ذخیره شده روی سرورها را بخوانند.
چگونه از رمزنگاری انتها به انتها استفاده کنیم؟
رمزنگاری سراسری به صورت دستی توسط کاربران اجرا یا استفاده نمیشود و خدمات یا نرمافزارهای رمزنگاری در وب یا پیامرسانها به طور خودکار پیامها و دادهها را رمزگذاری یا رمزگشایی میکنند.
به عنوان مثال، مرورگر وب شما مجهز به ابزارهای رمزگذاری انتها به انتها است و هنگامی که شما وارد یک سایت یا وب اپلیکیشن میشوید که نیاز به رمزنگاری انتها به انتها دارد؛ مثلا سایتهای بانکی و مالی؛ یا خریدهای آنلاین؛ به طور خودکار از رمزنگاری سراسری استفاده میشود تا اطلاعات کارت بانکی شما محرمانه بمانند و از کامپیوتر یا گوشی موبایل شما برای سرور بانک یا فروشگاه ارسال شوند.
چگونه در وب از رمزنگاری استفاده کنیم؟
وقتی در نوار آدرس مرورگر وب شما روی گوشی یا دسکتاپ؛ چه ویندوزی یا مک یا اندروید و iOS، یک آدرس URL با آدرس //:HTTPS به جای //:HTTP شروع میشود؛ نشاندهنده استفاده از رمزنگاری و امن بودن آن سایت است.
همچنین، وقتی سایتی باز میکنید که دارای لوگوی Symantec (مالک پروتکل TLS) یا TLS است؛ باز مطمئن میشویم که اطلاعات حساس در این وبسایت رمزنگاری میشوند. وقتی روی این تصویر کلیک کنید؛ صفحه جدیدی باز میشود که اصالت این سایت را نشان میدهد و نشان از معتبر بودن آن است. شرکتهایی مانند «سیمانتک» گواهینامههای دیجیتالی برای رمزنگاری در وب به سایتها میدهند. در آموزش امنیت درباره گواهینامههای امنیتی یک وبسایت بیشتر صحبت شده است.
بسیاری از تماسهای صوتی و تصویری در وب نیز این روزها از رمزنگاری سراسری استفاده میکنند و سعی دارند دادههای شما را به طور امن و رمزنگاری شده تحویل گیرنده پیامها دهند و حریم خصوصی شما را حفظ کنند.
در این میان، برخی از مرورگرهای وب به طور اختصاصی افزونههایی دارند تا پیامهای شما را رمزنگاری میکنند یا اینکه هر فعالیت در وب چه در سایت رمزنگاری شده یا نشدهای را رمزنگاری میکنند تا دیگر کاملا مطمئن باشید؛ فعالیتهای وب شما از هرگونه ردیابی و سرقت و شنود در امان هستند.
چرا آموزش رمزنگاری برای ما اهمیت دارد؟
آموزش رمزنگاری دو جنبه عمومی و تخصصی دارد. جنبه عمومی آموزش رمزنگاری تا حدودی همین مطالبی است که در بالا اشاره شد و البته هریک از این مفاهیمها و تعاریف قابل گسترش به چندین مقاله و حتی کتاب آموزشی هستند. امروزه، هر کاربر اینترنت و کامپیوتر در فضای مجازی باید سعی کند از رمزنگاری استفاده کند؛ سراغ مرورگرهای وب امن برود؛ از پیامرسانهای دارای رمزنگاری انتها به انتها سود ببرد و وارد سایتهایی شود که دارای رمزنگاری هستند.
اما جنبه تخصصی آموزش رمزنگاری برای افرادی است که میخواهند به طور تخصصی در حوزه مهندسی کامپیوتر، مهندسی شبکههای کامپیوتری، امنیت اطلاعات و امنیت سایبری فعالیت کنند. این افراد نیاز دارند تا به صورت کاملا تخصصی و با جزئیات بیشتر، پشت پرده رمزنگاری اطلاعات در سیستمها، سرورها و نرمافزارها را آموزش ببینند و با انواع پروتکلهای رمزنگاری آشنا شوند.
برای مثال، وقتی شما میخواهید دوره آموزش تست نفوذ را بگذراید؛ آشنایی با رمزنگاری در حد مقدماتی و اصولی بسیار راهگشا خواهد بود و شما را زودتر به مقصد میرساند.
برای یادگیری تست نفوذ، روی لینک زیر کلیک کنید:
در سایت «فرادرس» بهترین منابع آموزشی رمزنگاری و امنیت شبکه در نرمافزارها و پلتفرمهای مختلف را خواهید یافت. یک حسن این آموزشهای ویدئویی، قابلیت بازدید چندباره آنها و دنبال کردن دروس در جلسات مختلف براساس زمان فراغت شما است. ضمن اینکه، دیگر نیازی ندارید که حضوری در موسسه آموزش حضور داشته باشید و دردسرهایی مانند ترافیک و هزینه تردد و همزمانی کلاسها با کارهای دیگر زندگی روزمره را داشته باشید.
اگر برای خرید مودم، اینترنت و تجهیزات شبکه سوال داشتید یا نیاز به راهنمایی و کمک دارید؛ کانال تلگرام شبکهچی به آیدی shabakehchi@ را فالو و پرسش خود را برای مدیر کانال بفرستید تا جواب دهیم.