کلید رمزنگاری (cryptographic key) چیست؟

کلید رمزنگاری، به رشته ای از کارکترها گفته می شود که در الگوریتم رمزگذاری داده ها برای تغییر داده ها مورد استفاده قرار می گیرد، طوری که آن ها تصادفی به نظر برسند. درست مانندیک کلید که در را قفل (رمزگذاری) می کند تا فقط کسی که کلید مناسب را دارد، بتواند آن را باز (رمزگشایی) کند.

انواع مختلف رمزگذاری

دو رمزگذاری اصلی شامل رمزگذاری متقارن (symmetric) و نامتقارن (asymetric) می گردد. به رمزگذاری نامتقارن رمزگذاری public key نیز گفته می شود.

در رمزگذاری متقارن، فقط یک کلید وجود دارد و گیرنده و فرستنده از همان کلید برای رمزگذاری و رمزگشایی استفاده می کنند. در رمزگذاری نامتقارن یا public key، دو کلید وجود دارد: یک کلید برای رمزگذاری استفاده می شود و از یک کلید متفاوت دیگر برای رمزگشایی استفاده می شود. کلید رمزگشایی به صورت خصوصی نگه داشته می شود، در حالی که کلید رمزگذاری به صورت عمومی به اشتراک گذاشته می شود. رمزگذاری نامتقارن، یک فناوری بنیادی برای TLS می باشد (غالبا SSL نامیده می شود).

چرا رمزگذاری داده ها لازم است؟

Privacy: رمزگذاری داده ها تضمین می کند هیچ کس به جز افراد مجاز، قادر به خواندن اطلاعات رد و بدل شده نمی باشد. این امر به جلوگیری از رهگیری و خواندن داده های مهم توسط مهاجمان، شبکه های تبلیغاتی و ارائه دهندگان خدمات اینترنت کمک شایانی می کند.

Security: رمزنگاری داده ها مانع از نقض داده ها، چه در حال انتقال باشند و چه نباشند، می گردد. چنانچه یکی از دستگاه های مربوط به یک شرکت گم شود و یا به سرقت برده شود، به این دلیل که هارد دیسک آن به درستی رمزگذاری شده، اطلاعات آن کاملا ایمن خواهند ماند. به همین ترتیب، ارتباطات رمزنگاری شده،امکان تبادل اطلاعات مهم و حساس را بدون نشت داده ها فراهم می کنند.

Data integrity: رمزگذاری داده ها به جلوگیری از رفتارهای مخرب مانند حملات on path نیز کمک می نماید. انتقال داده ها از طریق اینترنت به همراه محافظت یکپارچه، این اطمینان را می دهد که گیرنده، داده ها را بدون هیچ گونه دستکاری دریافت می کند.

Authentication: رمزگذاری public key را می توان به منظور اطمینان از این که صاحب وب سایت، کلید خصوصی ذکر شده در TLS certificate را در اختیار دارد. این امر باعث می شود کاربران وب سایت مطمئن باشند که از سایت اصلی بازدید می کنند.

Regulations: به خاطر تمام دلایل ذکر شده، بنابر مقررات بسیاری از دولت ها و صنایع، شرکت هایی که با داده های کاربران سرو کار دارند، می بایست آن ها را رمزنگاری کنند. نمونه هایی از استانداردهای نظارتی و انطباق که نیاز به رمزگذاری دارند، شامل HIPAA، PCI-DSS و GDPR می باشد.

الگوریتم رمزگذاری چیست؟

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

برخی از رایج ترین الگوریتم های رمزگذاری داده ها

الگوریتم های رمزگذاری متقارن که بسیار مورد استفاده قرار می گیرند، شامل موارد زیر می گردند:

  • AES
  • ۳-DES
  • SNOW

و الگوریتم های رمزگذاری نا متقارن که بسیار مورد استفاده قرار می گیرند، شامل موارد زیر می گردند:

  • RSA
  • Elliptic curve cryptography

مظور از حمله brute force در رمزگذاری چیست؟

حمله brute force، زمانی اتفاق می افتد که مهاجمی که از کلید رمزگشایی بی خبر است، با استفاده از میلیون ها یا میلیاردها حدس، در تلاش برای پیدا کردن کلید می باشد. حملات brute force با کمک کامپیوترهای جدید، بسیار سریع تر از قبل شده است، به همین دلیل رمزگذاری می بایست بسیار قوی تر و پیچیده تر از گذشته باشد. اکثر روش های رمزگذاری مدرن، که با پسوردهای قوی همراه هستند، در برابر حملات brute force مقاوم می باشند، هرچند که ممکن است در آینده، با افزایش قدرت کامپیوترها، در برابر چنین حملاتی، آسیب پذیر گردند. قابل ذکر است پسوردهای ضعیف همچنان در معرض حملات brute force قرار دارند.

استفاده از رمزنگاری برای ایمن نگه داشتن مرورگر وب

رمزگذاری به عنوان پایه و اساس بسیاری از تکنولوژی های به شمار می آید، اما برای درخواست های HTTP و پاسخ های ایمن و همنین احراز هویت سرورهای مبدا وب سایت از اهمیت بیشتری برخوردار است. پروتکلی که مسئولیت این امر را بر عهده دارد، HTTPS یا hypertext transfer protocol secure می باشد. وب سایتی که به جای HTTP از طریق HTTPS ارائه می شود، علامت یک قفل در کنار آدرس آن مشخص است.

مطلب دیگر :
معرفی لینک های مفید

HTTPS  از پروتکل رمزگذاری به نام Transport Layer Security یا TLS استفاده می کند. در گذشته پروتکل Secure Sockets Layer یا SSL استاندارد بود، اما TLS جایگزین آن شده است. وب سایتی که HTTPS را روی وب سایت خود پیاده سازی می کند، یک TLS certificate بر روی سرور مبدا خود نصب می کند.
در رمزگذاری با کلید عمومی که به رمزگذاری نامتقارن هم مشهور است از دو کلید استفاده می شود: کلید عمومی و کلید خصوصی. کلید عمومی نوشته ها را رمزگذاری می کند و با کلید خصوصی می توان همین نوشته را رمزگشایی نمود. برای درک بهتر این مسئله فرض کنید که جویی و کارن هر دو کلید یک صندوق را دارند.

علت استفاده از نام متقارن برای رمزگذاری با کلید عمومی به این خاطر است که از دو کلید «متفاوت» استفاده می شود

کلید جویی عمومی بوده و کلید کارن هم خصوصی است. اکنون جویی می تواند با کلیدش در صندوق را باز کند و چیزهایی که می خواهد را اضافه کند ولی اجازه ندارد وسیله هایی که قبلا در صندوق قرار گرفته را نمی تواند ببیند یا حتی بردارد. در صورتی که کارن با کلیدش قابلیت این را دارد اشیاء درون صندوق را دیده و هر کدام را که خواست حذف نماید.

در دنیای دیجیتال همین مسئله دیده می شود. کسی که کلید عمومی دارد، می تواند نوشته ای ساده را رمزگذاری کرده و برای بقیه بفرستد اما تنها با داشتن کلید خصوصی می توان پیام ها را رمزگشایی کرد. البته در این مثال، کارن اگر بخواهد یک نوشته ساده را رمزنگاری نموده و بفرستد باید از کلید عمومی استفاده کند؛ کارایی دو کلید کاملا متفاوت هستند و هیچکدام کار دیگری را انجام نمی دهد.

رمزگذاری با کلید خصوصی (Private Key Encryption)

Private Key Encryption

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

تکنولوژی های مدرن رمزگذاری و مهمترین الگوریتم های آن

با پیچیده تر شدن الگوریتم ها در رمزگذاری مدرن، اندازه کلیدها نیز افزایش پیدا کرده تا دسترسی به داده های رمزگذاری شده سخت تر بشود. اگر هکرها از روش «حمله غیر هوشمندانه» استفاده کنند، به خاطر پیشرفت کلیدها و بزرگ تر شدن شان آن ها باید میلیون ها حدس بزنند تا در نهایت جواب رمز را پیدا نمایند.

به عنوان نمونه کلید ۵۶ بیتی به نظر تفاوت چندانی با کلید ۶۴ بیتی ندارد ولی در اصل باز کردن قفل یک کلید ۶۴ بیتی ۲۵۶ بار سخت تر از کلید ۵۶ بیتی است. در خیلی از رمزگذاری های امروزی، حداقل از کلیدهای ۱۲۸ بیتی استفاده می شود و در بعضی موارد این رقم به ۲۵۶ بیت و بیشتر نیز می رسد.

بنابراین برای کرک کلیدهای جدید باید ۳۳۹٫۰۰۰٫۰۰۰,۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰٫۰۰۰ حدس متفاوت زده شود. کاری که بیش از یک میلیون سال طول می کشد تا در نهایت ترکیب درست حدس زده شود. به بیان ساده تر، از لحاظ تئوری معقول نیست که کسی بخواهد رمزگذاری های ۱۲۸ بیتی یا بیشتر را با روش حمله غیر هوشمندانه کرک کند.

الگوریتم Triple DES

عرضه دی ای سی شروعی بر عصر مدرن الگوریتم های رمزگذاری برای اطلاعات دیجیتالی بود.

از زمان معرفی الگوریتم دی ای اس، استانداردهای رمزگذاری دستخوش تغییرات گوناگونی شده اند. همین تغییرات هم باعث شد تا در سال ۱۹۹۸ و بیست و یک سال بعد از عرضه الگوریتم دی ای اس، کمپانی سازنده از الگوریتم جدیدی تحت عنوان تریپل دی ای اس استفاده کند.

هر چند تکنولوژی اولیه دی ای اس محدودیت هایی داشت و از کلیدهای ۵۶ بیتی استفاده می کرد اما در تریبل دی ای اس اندازه کلیدها به ۱۶۸ بیت افزایش یافته که کرک کردن شان را خیلی سخت تر می کند. در صنعت پرداخت الکترونیکی از این الگوریتم استفاده می شود.

 

آموزش ssl