دست دادن

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

چطوری این اتفاق افتاد؟

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

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

اگه نتونن با هم به توافق برسن، مرورگرت یه اخطار بهت نشون میده.
ولی اگه همه چی خوب پیش بره، مرورگرت با خوشحالی یه قفل تو نوار آدرس نشون میده.

به این مذاکره بین مرورگر و سرور میگن 'دست دادن'.

خیلی سریع اتفاق می‌افته. می‌خوایم بهت نشون بدیم چه جوری کار می‌کنه.

مرورگر پرنده میشه مرورگر تو.
کامپیوتر هم میشه سرور ما.

بزن بریم ببینیم چیه!

آماده‌ای؟ اینجوریه که 'دست دادن' یواش یواش اتفاق می‌افته.

کف دست چپ
کف دست راست
شاکای عمودی
چرخش افقی شاکا
قلقلک

تموم شد!

حالا بیا دوباره انجامش بدیم، ولی تندتر.

کف دست چپ - کف دست راست - شاکا - چرخوندن شاکا - قلقلک.

ی-ه ب-ا-ر د-ی-گ-ه!

ایست!

بیا تیکه تیکه‌اش کنیم. قدم به قدم.

قدم اول : کف دست چپ. بهش میگن Client Hello.

من فهرستی از نسخه‌های SSL/TLS و الگوریتم‌های رمزنگاری‌ای را که می‌توانم با آن‌ها کار کنم برای Compugter می‌فرستم. امروزه TLS 1.3 را ترجیح می‌دهم، بنابراین key_share را هم می‌فرستم.

به این لیست الگوریتم‌های رمزگذاری یه اسم با کلاس میدن: 'cipher suite'.

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

پروتکل‌های SSL و TLS با گذشت زمان بهتر شدن، یکم دیگه درباره‌ش حرف می‌زنیم.

بعدش منتظر می‌مونم تا کامپیوتر جواب بده.

قدم دوم: کف دست راست. بهش میگن Server Hello.

TLS 1.3 و یک مجموعهٔ رمز (cipher suite) را انتخاب می‌کنم و key_share خود را نیز ارسال می‌کنم. از اینجا به بعد، TLS 1.3 بقیهٔ دست‌دهی را رمزنگاری می‌کند.

بلافاصله پس از آن گواهی‌نامه‌ام را می‌فرستم که کلید عمومی من در آن است تا بتوانند هویت مرا تأیید کنند.

گام سوم: شاکای عمودی. با نام دیگر Key Share.

من گواهی کامپیوتر رو چک می‌کنم تا مطمئن شم الکی نیست.

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

گام چهارم: چرخش افقی شاکا. با نام دیگر Finished Messages.

از ServerHello (گام دوم) به بعد، دست‌دهی رمزنگاری می‌شود.

برای اثبات این‌که همان راز مشترک را به‌دست آورده‌اند، پیام‌های Finished را مبادله می‌کنند — و در یک رفت‌و‌برگشت، کلیدهای نشست آماده‌اند.

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

پسوردها، اطلاعات کارت اعتباری، همه چی.

آسون بود، نه؟

دفعه دیگه که با خیال راحت با HTTPS به یه سایت وصل شدی، یه شاکا واسه مرورگرت بفرست، چون تو دست دادن مخفی‌شون رو بلدی.

بعدی در HowHTTPS.works...

HTTPS، SSL، TLS، وای خدا! من امروز سوپ حروف الفبا خوردم. یعنی چی؟ همه‌شون یه چیزن؟

ادامه مطلب