دست دادن

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

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

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

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

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

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

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

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

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

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

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

تموم شد!

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

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

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

ایست!

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

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

من یه لیست از ورژن‌های SSL/TLS و الگوریتم‌های رمزگذاری که بلدم رو واسه کامپیوتر می‌فرستم.

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

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

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

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

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

من بهترین ورژن SSL/TLS و الگوریتم رمزگذاری رو از بین اونایی که براوزربرد واسم فرستاده و با توجه به سلیقه خودم انتخاب می‌کنم.

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

قدم سوم: شاکای عمودی. بهش میگن Client Key Exchange.

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

من یه 'کلید پیش‌استاد' درست می‌کنم تا بعداً هر دومون بتونیم ازش واسه درست کردن یه کلید مخصوص خودمون استفاده کنیم.

من اون کلید پیش‌استاد رو با کلید عمومی کامپیوتر رمزگذاری می‌کنم و بعد واسش می‌فرستم.

قدم چهارم: چرخوندن افقی شاکا. بهش میگن Change Cipher spec.

من از کلید خصوصی خودم استفاده می‌کنم تا کلید پیش‌استاد رو رمزگشایی کنم.

تا اینجا همه حرفایی که زدن رو هوا بوده و هیچ پیامی رو امن نکردن.

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

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

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

آسون بود، نه؟

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

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

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

ادامه مطلب