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

آشنایی با HTTPS به روش کبوتر نامه‌بر

0

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

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

HTTPS چیست؟ آشنایی با HTTPS به روش کبوتر نامه‌بر

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

ارسال پیام روی بستر HTTP

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

اما به نظر شما اگه برای کبوتر اتفاقی بیفتد و شخصی به نام آقای رایان که کلی اطلاعات در زمینه خواندن رمز دارد این کبوتر را بگیرد؟ مطمئنا آقای رایان پس از گرفتن کبوتر میتواند نامه را بخواند و از موضوع مطلع شود که حتی در سطح گسترده‌تر قادر است دستکاری بر روی پیغام دهد و کبوتر را راهی پیمان کند. این روش درست همان شیوه کار HTTP می باشد که هر کسی قادر به شنود و خواندن پیام‌ها در بستر سرور می‌باشد.

مخفی کاری روی پیغام‌ها

سینا و پیمان با شناختی که از هم دارند اصلا انتظار چنین جواب‌های دستکاری شده‌ای را ندارند. پس اگه کمی زرنگ باشند میدانند که این پیغام دستکاری شده است، بنابراین با یک ترفندی سعی می‌کنند پیام‌های ارسالیشان را از طریق ترفندهای مخفی کردن و رمزنگاری ارسال می‌کنند. به عنوان مثال آنها رمزنگاری کلید متقارن symmetric key cryptography را انتخاب می‌کنند که در این روش به جای نوشتن حروف اصلی یک پیام، تمام حروف متن را به سه حرف قبلی شیفت داده و ارسال می‌کنند. به عنوان مثال به جای نوشتن حرف D از حرف A استفاده می‌کنند. یا به جای نوشتن حرف E از حرف B استفاده می‌کنند. پس در این صورت اگر سینا متن secret message را برای پیمان ارسال کند باید به شکل pbzobq jbppxdb آن را در متن پیغام نوشته و به پای کبوتر ببندد. این نوع رمزگذاری که برای متن پیام استفاده میشود با نام رمز سزار Caesar cipher شناخته شده است.

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

ارسال پیغام به صورت حمل بسته

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

  1. سینا یک کبوتر نامه‌بر برای پیمان میفرستد که حامل هیچ نامه و پیغامی نیست.
  2. پس از رسیدن کبوتر، پیمان به جای نامه یک جعبه با قفل باز به پای کبوتر میبندد و آن را راهی میکند برای سینا در حالی که کلید این قفل فقط دست پیمان می باشد
  3. سینا کبوتر را به همراه جعبه با قفل باز دریافت کرده و پیغام خود را پس از نوشتن داخل جعبه قرار میدهد و آن را قفل میکند
  4. پیمان کبوتر را به همراه نامه که داخل جعبه قفل دریافت میکند و چون کلید این جعبه را فقط خودش دارد، بنابراین جعبه را باز کرده و پیغام را مشاهده میکند

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

به این روش ارسال پیغام به صورت رمزنگاری شده، رمز نگاری کلید نامتقارن asymmetric key cryptography نامیده می‌گویند. دلیل اینکه به این روش نامتقارن میگویند این است  که اگر شما یک پیام را رمزگذاری کنید(جعبه را قفل کنید) دیگر نمیتوانید آن را رمزگشایی کنید(قفل جعبه را باز کنید). که در این حالت به جعبه کلید عمومی public key و کلیدی که آن را باز میکند کلید خصوصی private key گفته میشود.

آیا جعبه قابل اطمینان می باشد؟

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

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

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

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

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

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

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

امیدوارم که این مقاله از آکادمی اولین دیتا هم مورد توجه و پسند شما قرار گرفته باشد و با استفاده از این مقاله توانسته باشید به کمک سینا، پیمان، آلن تورینگ، آقای رایان و کبوتر نامه‌بر با روش کارکرد HTTPS آشنا شوید.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد .

Captcha loading...