PKIتکنولوژی امنیتی
تکنولوژی PKI خلاصه شده عبارت Public Key Infrastructure می باشد که از این تکنولوژی جهت رمزنگاری Data انتقالی بین کامپیوتر ها و شبکه ها استفاده می شود. این تکنولوژی به روش رمز نگاری نامتقارن یا Asymetric Cryptography معروف است.
در این روش 2 کلید مجزا جهت رمز نگاری وجود دارد و استفاده می شوند که عبارتند از :
1- Public Key
2- Private Key
از مهمترین کاربرد های PKI ایجاد زیرساخت امنیتی جهت ساختن امضاهای دیجیتالی (Digital Certificates) و گواهینامه های دیجیتالی (ِDigital Certificates) می باشد که برای اهراز هویت کاربران و Encrypt شدن Data انتقالی بین آنها و سرویس در حال استفاده مورد استفاده میشود. حال وارد بحث و توضیح 2 کلید PKI و چگونگی استفاده و کاربرد آنها می شویم.
ابتدا از Public Key شروع می کنیم که همانطور که از اسم آن معلوم است این کلید یک کلید عمومی بوده و برای باز کردن رمز نگاری اطلاعات ما بکار نمی رود زیرا با این کار امنیت شما زیر سوال خواهد رفت بلکه برای رمز نگاری کردن یا Encrypt کردن Data ما کاربرد دارد. Private Key هم که یک کلید خصوصی است برای گشودن رمز نگاری یا Decrypt کردن Data ما استفاده می شود.
حال اینجا یک سوال پیش می آید که Encrypt و Decrypt کردن یک Data چگونه انجام می شود. ما در کل از نظر امنیتی 2 نوع Data در سطح هر شبکه ای داریم که Plaintext و Ciphertext نام دارند. Data های Plaintext اطلاعاتی هستند که ساده هستند و هنوز رمز نگاری (Encrypt) نشده اند و Ciphertext ها هم اطلاعاتی هستند که Encrypt شده اند و حال باید در مقصد Decrypt شوند. حال که با مفاهیم ابتدایی PKI آشنا شدیم به وظیفه این زیرساخت امنیتی می پردازیم.
اصولا PKI در زیر ساخت امنیتی یک شبکه نقش بسزایی دارد و از یک تکنیک خاص امنیتی جهت ایجاد ارتباط امن بین مبدا و مقصد استفاده می کند که به این تکنیک Cryptography می گویند. همانطور که در شکل زیر می بینید می خواهیم Data ی “Hello World!” را بین دو کامپیوتر انتقال دهیم به صورتیکه ارتباط Encrypt شده باشد.
در این شکل می بینید که عبارت “Hello World!” که یک عبارت Plaintext است در بین راه Encrypt شده و به صورت عبارت #%giuyrwkmn,s:{? در آمده است که Data ی Ciphertext ما می باشد و قابل فهم نمی باشد و توسط هکر ها نمیتواند خوانده شود. حال میخواهیم درباره ارتباط PKI با Certificate Authority ها برای امن کردن یک ارتباط Web Based صحبت کنیم.
در ابتدا ببینیم که یک Certificate Authority یا همان CA چه وظایفی بر عهده دارد. CA یک منبع است که در آن کلید ها و گواهینامه های دیجیتالی (Digital Certificates) Issue و ذخیره می شوند. Certificate ها حهت تایید هویت و مالکیت یک Public Key طبق نام همان Certificate می باشد. Certificate ها فقط برای ارتباط هایی مورد استفاده قرار می گیرند که از لایه امنیتی SSL برای ایجاد ارتباط استفاده می کنند.
به شکل زیر توجه کنید.
به طور مثال در شکل بالا می بینید که User X میخواهد سایت HTTPS://ENT.COM را باز کند . برای ایکار ابتدا وب سرور اطلاعات User را به سمت CA می فرستد تا CA برای Encrypt کردن ارتباز بین سایت و کاربر یک Certificate بسازد. این Certificate یک SSL Certificate می باشد.
حال تا به حال به این موضوع فکر کردید که این تکنولوژی PKI توسط چه استانداردی فعالیت می کند و زیر ساخت امنیت شما را فراهم می کند؟
استاندارد X.509 استانداردی است که توسط شرکت ITU (International Telecommunication Union)طراحی شده است و استاندارد PKI برای رمز نگاری Data ها می باشد. در اصل X.509 جهت محکم ساختن و ثبات یک CA برای Issue کردن Certificate ها می باشد.
ممکن به دلیل اینکه X.509 استاندارد PKI است در برخی از سایت ها و مکان ها کلمه PKIX را ببینید که منظور همان PKI است.
دوستان این بخش کوچکی از مفاهیم و چگونگی ساختار PKI بود و در آینده ای نزدیک بیشتر درباره PKI توضیح خواهم داد.
بدرود و سر افراز باشید.
References :
http://en.wikipedia.org/wiki/Public-key_infrastructure#Security_issues
http://en.wikipedia.org/wiki/X.509#Security
http://en.wikipedia.org/wiki/ITU-T
http://en.wikipedia.org/wiki/Cryptography
http://technet.com