امنیت شبکه

مفهوم امنیت با Encryption و Certificate Authority

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

مفهوم امنیت با Encryption و Certificate Authority

چند پارامتر مهم در بحث امنیت :

Authentication : اهراز هویت (در ویندوز بدون اهراز هویت نمی توان به منابع دسترسی داشت.

Authorization : سطح دسترسی (تعیین سطح دسترسی)

Encyption : رمز نگاری (برای جلوگیری از دسترسی Man in The Middle به اطلاعات)

بررسی اهمیت پارامتر های فوق در انتقال اطلاعات :

مفهوم امنیت با Encryption و Certificate Authority

تصور کنید شخص A  در محیط شلوغ مترو ناگهان شخص B را می بیند اولین اتفاقی که رخ می دهد این است که شخص A شخص B را اهراز هویت (Authentication) می کند یعنی اینکه فردی که دیده همان B آشنا هست مطمئن میشود : بنابراین اگر این عملیات اهراز هویت موفقیت آمیز باشد , این دو نفر یکدیگر را شناخته و مکالمه ای بین آنها رد و بدل خواهد شد : قدم بعدی این است که شخص B,A را بررسی می کند و سطح دسترسی (Authorization) او به اطلاعات را تجزیه و تحلیل می کند یعنی مثلا این فرد تا چه حد نزدیک است که اطلاعات مهم را به او انتقال بدهد یا خیر ، مثلا B برادر شخص A است یا فقط دوست دوران دبستان .

حال اگر A صلاحیت B را برای دریافت آن اطلاعات مهم تایید کند آنگاه انتقال اطلاعات مهم را شروع خواهد کرد مثلا رمز بانکی , آدرس زندگی , شماره موبایل …

اکنون پارامتر سوم را به این سناریو اضافه می کنیم .

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

در دنیای شبکه زمانی که کامپیوتر B,A می خواهند Data رد و بدل کنند اگر این Data را به صورت Clear ارسال کنند ممکن است اطلاعات آن ها افشا شود یا تغییر کند بنابراین بهترین راه این است که Data را رمزنگاری کنند و سپس ارسال کنند .

در بحث encryption دو تا solotion داریم :

1- الگوریتم های Symmetric (متقارن)

2- الگوریتم های Unsymmetric (نا متقارن)

مفهوم امنیت با Encryption و Certificate Authority

Key چیست ؟ کلیذ ابزاری است که به وسیله آن decryption انجام می شود یعنی ما به کمک کلید اطلاعات را رمزگذاری می کنیم و به کمک آن می توان رمزگشایی را نیز انجام داد .

مفهوم امنیت با Encryption و Certificate Authority

الگوریتم های متقارن برای رمزگذاری از یک pre-shared استفاده می کنند که این روش خیلی قابل اعتماد نیست و قابل حدس زدن است و روش های مختلفی برای شکستن آن وجود دارد .

الگوریتم های نامتقارن از دو کلید private key و public key برای رمزنگاری استفاده می کنند به این صورت که اگر ما اطلاعاتی را با private key رمزگذاری کنیم فقط با کلید public رمزگشایی می شود و بلعکس . هر کسی کلید private  اش دست خودش است ولی public اش را می تواند به هر کسی بدهد .

اطلاعات قرار است از B به A ازسال شود ، B میاد Data رو با public key خودش Encrypt می کند و برای A می فرسته حالا A برای باز کردن این Data نیاز به public key کامپیوتر B دارد .

مفهوم امنیت با Encryption و Certificate Authority

بنابراین باید A درخواست بده که B بیاد Public key اش را برایش ارسال کند . اگر public key B به A برسد مشکلی نداریم و توانستیم اطلاعات را رمزنگاری کنیم و در سوی دیگر بدون افشا اطلاعات آن را دریافت کنیم .

اما اگر در میانه راه یک Man in the Middle به نام C وجود داشته باشد ، پاسخ B به درخواست A را دریافت می کند و به جای Public کامپیوتر B میاد  Public  خودش را برای A  ارسال می کند و به این ترتیب نه A و نه B هیچگاه متوجه وجود C نخواهند شد زیرا A اطلاعات را با C Public رمزگذاری میکند و میدهد بیرون و C بسته رو می گیره چون Private خودش را دارد بسته را Decrypt میکند و از محتویات آگاه می شود و با public B دوباره رمزگذاری میکند و به B میفرستد . B میاد با Private خودش Data را Decrypt میکند و مجدد جواب میدهد و C همین کار را باز تکرار می کند و به این ترتیب یکی این وسط اصطلاحا شنود می کند.

مشکل کجاست ؟ رساندن public key B به A ، چرا که اگر public B را به سلامت به A برسانیم مشکلی نخواهد بود.

فرض کنید public B را با فلش به A داده ایم ، حالا Man in the middle را بررسی می کنیم .

B  دیتا را با public key  خودش encrypt می کند و می فرستد برای A , حالا این وسط است و چون public B را ندارد پس نمیتواند کاری کند .

تعریف Digital sign : وقتی Data ای را با کلید private  خودمان encrypt کنیم به این عمل Digital sign می گویند .

 

راه حل : استفاده از یک سوم شخص مورد اعتماد برای رساندن public B به A

مفهوم امنیت با Encryption و Certificate Authority

این سوم شخص یکسری ویژگی باید داشته باشد :

تمام کامپیوتر های جهان به آن اعتماد یا TRUST  داشته باشند ، به دارنده این ویژگی Certificate Authority یا به اختصار CA می گویند که کار آن صادر کردن Certificate است .

مفهوم امنیت با Encryption و Certificate Authority

حال روند سناریو این گونه است : کامپیوتر B از CA درخواست Certificate می کند و CA می آید یک private key می سازد و میدهد به کامپیوتر B . حالا کامپیوتر B می آید و Public key خودش را با private key CA  اصطلاحا Digital sign  می کند و میفرستم برای کامپیوتر A .

چون همه ی کامپیوتر ها به CA ها TRUST دارند بنابراین Public key  اون CA ها توی همه ی کامپیوتر هاست بنابراین می توانیم اطلاعاتی را که توسط Private key encerypte , CA شد رو Decrypt کنیم .

بنابراین A با Decrypt کردن این Data میتواند به  public key B دست پیدا کند و با آن هر اطلاعاتی را که می خواهد رمزگذاری کند برای B بفرستد .

مفهوم امنیت با Encryption و Certificate Authority

حالا بررسی نقش Man in the middle در این مرحله ها :

در مرحله ای که B می آید و کلید public خودش را Digital sign می کند و برای A می فرستد چون مرد میانی هم به CA تراست دارد بنابراین میتواند Public B را بدست بیاورد , اما چون private key CA را ندارد نمیتواند public key خودش را جای public key B برای A بفرستد و وجود Man in the middle  لو میرود.

خود ما می توانیم CA راه اندازی کنیم که ارتباط درون شبکه ای و برون شبکه ای کلاینت های خود را امن کنیم ، البته برای استفاده از certificate بهتر است از CA های آنلاین و معتبر certificate تهیه کنیم .

نویسنده : امیر محمد جلیلی – داتیس نتورک

دیدگاهی در مورد “مفهوم امنیت با Encryption و Certificate Authority

  1. امیر گفت:

    بسیار عالی و حرفه ای .ممنون

  2. ی بنده خدا گفت:

    این پاراگراف اشتباه است !

    اطلاعات قرار است از B به A ازسال شود ، B میاد Data رو با public key خودش Encrypt می کند و برای A می فرسته حالا A برای باز کردن این Data نیاز به public key کامپیوتر B دارد .

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *