تماس با مرکز داده
۰۲۵-۳۲۱۲۳۰

الگوریتم های امنیتی برای رایانش ابری

الگوریتم های امنیتی برای رایانش ابری

International Conference on Computational Modeling and Security – CMS 2016

Security Algorithms for Cloud Computing

خلاصه

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

  1. معرفی

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

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

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

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

 

fig1-300x48

 

در اصطلاحات علمی، رمزنگاری علم استفاده از ریاضیات برای ایجاد اطلاعات متن ساده (P) به قالب یک متن رمزی ناخوانا (C) است که رمزنگاری نامیده شده و تبدیل مجدد آن متن رمزی به متن ساده به عنوان رمزگشایی با مجموعه ای از الگوریتم های رمزنگاری (E) با استفاده از کلیدهای رمزنگاری (k1 و k2) شناخته می شوند و الگوریتم های رمزگشایی (D) که متن اصلی را از متن رمزی برگردان کرده و تولید می کنند. این مساله می تواند به عنوان متن رمزی C = E {P, Key} و متن ساده C = D {C, Key} شناخته شود.

تعریف برخی اصطلاحات استفاده شده در رمزنگاری:

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

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

  • اطمینان از انتقال داده های امن: در یک محیط ابری، مکان فیزیکی و دسترسی تحت کنترل کاربر نهایی در جایی است که منابع میزبانی می شوند.
  • اطمینان از رابط امن: یکپارچگی اطلاعات طی انتقال، نگهداری و بازیابی نیازمند این است که از اینترنت ناامن اطمینان حاصل شود.
  • داشتن جدایی داده ها: مسایل حریم خصوصی زمانی رخ می دهد که داده های شخصی توسط ارایه دهندگان ابری یا محدوده های بین داده های شخصی و شرکتی مورد دسترسی قرار می گیرد که سیاست های تعریف شده مشخصی ندارند.
  • داده های ذخیره شده امن: علامت پرسش در کنترل رمزنگاری و رمزگشایی توسط کاربر نهایی یا ارایه دهنده خدمات ابری.
  • کنترل دسترسی کاربر: برای تراکنش های مبتنی بر وب (PCI DSS)، تاریخچه های داده های وب بایستی برای قبول بازرسان و مدیران امنیتی ارایه شود.

الگوریتم های امنیتی به صورت گسترده زیر طبقه بندی می شوند:

  • کلید خصوصی/الگوریتم های متقارن: از کلید امنیتی منفرد برای رمزنگاری حجم بزرگ داده ها استفاده می شوند. سرعت پردازش سریعی دارد. این الگوریتم ها از یک کلید محرمانه استفاده می کنند که برای ارسال کننده و دریافت کننده شناخته می شود. RC6، ۳DES، Blowfish، ۳DES برخی مثال های اولیه از این الگوریتم ها هستند.
  • کلید عمومی/الگوریتم های نامتقارن: از یک جفت کلید برای فرآیند رمزنگاری، از کلید عمومی برای رمزنگاری و خصوصی برای رمزگشایی استفاده نمایید. این الگوریتم ها هزینه محاسباتی بالا و سرعت پایینی دارند در صورتی که با یک کلید الگوریتم های متقارن مقایسه شود. RSA و Diffie Hellman برخی انواع از الگوریتم های کلید عمومی هستند.
  • الگوریتم های امضا: برای امضا استفاده می شود و داده های مورد استفاده برای تصدیق مبتنی بر یک کلید هستند. مثال ها شامل این موارد می باشند: RSA، DH.
  • الگوریتم های هش: داده ها برای امضای اندازه استاندارد ثابت فشرده می شوند. مثال ها شامل این ها هستند: MD5 و SHA

برخی دیگر راه های طبقه بندی الگوریتم ها بر اساس ویژگی های پردازشی شان به صورت زیر هستند:

fig2-300x79

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

  1. الگوریتم نامتقارن

الگوریتم های نامتقارن یک حفت کلید مرتبط، یک کلید برای رمزگذاری با نام کلید عمومی و یک کلید متفاوت ولی وابسته به هم برای رمزگشایی با نام کلیدهای خصوصی زمانی که تبدیل متن ساده را به متن رمزی اجرا می کنند می باشند. الگورتیم های نامتقارن اصلی ECC، Diffie-Hellman و RSA هستند.

۲٫۱ RSA

الگوریتم RSA هم نام با مخترعانش می باشد (Rivest، Shamir و Adekman) برای انتقال داده ها به/از محیط های مبتنی بر وب و ابر مناسب می باشند. در کار با رایانش ابری، داده های کاربر نهایی ابتدا رمزنگاری شده و سپس بر ابر ذخیره می شود. برای این ارایه دهنده خدمت ابری ابتدا کاربر را تعیین اعتبار می کند تا به عنوان مالک تصدیق شده و سپس داده ها را به درخواست دهنده با استفاده از الگوریتم نامتقارن RSA تحویل می دهد. این الگوریتم از چارچوب امنیتی NET. نیز پشتیبانی می شود.

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

در این الگوریتم، اعداد اول استفاده می شوند تا کلیدهای خصوصی و عمومی را بر اساس فرمول های ریاضیاتی و با ضرب اعداد با یکدیگر استفاده نمایند. این مهم از اندازه بلاک داده ها استفاده می کند که متن ساده یا متن‌های رمزی ارقامی بین ۰ و ۱ برای برخی مقادیر n می باشند. در اینجا متن ساده پردازش شده نیز به صورت بلاک هایی رمزگذاری می شوند و مقدار دودویی از هر بلاک بایستی کمتر از عدد (n) باشد. RSA هم شکل افزاینده است که لزوما بدین معناست که حاصلضرب متن ساده را بیابد، متون رمزی را به صورتی ضرب نماید که خروجی، نتیجه متن رمزی از ضرب می باشد.

این یک روش برای مبادله کلیدهای رمزنگاری با ابتدا تثبیت یک کلید محرمانه تسهیم شده است تا برای ارتباطات داخلی و نه برای رمزگذاری یا رمزگشایی استفاده شود. این روند مبادله کلید اطمینان حاصل می نماید که دو بخش که هیچ دانش اولیه از یکدیگر ندارند به صورت مشترک یک کلید محرمانه تسهیم شده را بر اینترنت ناامن تثبیت می نمایند.

تبدیلات کلیدها باهم تعویض شده و هر دو با یک کلیدِ نشست خاتمه می یابند که به نظر یک کلید محرمانه می آید. سپس هر یک می توانند یک کلید نشست سوم را محاسبه نمایند که نمی تواند به آسانی توسط یک مهاجمی گرفته شود که هر دو مقدار مبادله شده را می داند. این کلید ارتباطات بعدی را با استفاده از یک رمز کلید متقارن رمزگذاری می کند ولی برای حمله مرد میانی (MITM) آسیب پذیر می باشد. این مبادله کلید برای مبادله داده های بزرگ واقعی برخلاف RSA استفاده نمی شود.

  1. الگوریتم های متقارن

الگوریتم های متقارن درگیر یک کلید محرمانه تسهیم شده هستند تا داده هایی را رمزگذاری و رمزگشایی نموده و قادر به پردازش حجم بزرگی از داده ها هستند و از نقطه نظر محاسباتی بسیار بر قدرت متمرکز نیستند، به طوریکه بالاسری کمتری در سیستم ها دارند و سرعت بالایی برای اجرای رمزگذاری و رمزگشایی دارند. الگوریتم های متقارن متون ساده را به عنوان بیت رمزی جریان با بیت در یک زمان یا به عنوان رمزهای بلاکی بر رقم ثابت واحدهای ۶۴ بیتی رمزگذاری می کنند.

fig3-300x111

به هرحال چند مساله با الگوریتم های متقارن وجود دارد:

  • مبادله کلید محرمانه تسهیم شده بر اینترنت ناامن.

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

  • تایید مشکل در صورتی که محتوا تغییر یافته یا در واقع توسط ارسال کننده مدعی ارسال شود.

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

  • ابزارهایی برای شکستن رمزنگاری متقارن

با استفاده از Brute force ،  با اجرای ابزارهای هک که قابلیت شکستن ترکیبات و کلیدها را دارند تا پیغام به صورت متن ساده را مشخص کرده و تجزیه و تحلیل رمز را اجرا نمایند که حملات بر مشخصه های الگوریتم متمرکز است تا یک متن ساده ویژه یا کلید رمزی را نتیجه بگیرد. سپس هکرها قادر به کشف متن ساده برای پیغام هایی هستند که از این امتیاز به خطر افتاد استفاده می کنند.

  1. کار مرتبط اجرا شده

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

 

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

۴٫۱ پارامترهای مقایسه

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

  • اندازه فایل: فایل با اندازه مختلف را نشان می دهد که پذیرفته شده است
  • زمان محاسباتی رمزنگاری: زمانی که یک الگوریتم می خواهد تا یک متن رمزی را از یک متن ساده تولید نماید.
  • زمان محاسباتی کدبندی: زمان لازم برای الگوریتم کدبندی برای تولید یک کد هش.

معیارهای عملکرد بر اساس موارد زیر جمع آوری شده بودند:

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

از این رو نویسندگان از زیرساخت زیر برای کار تحقیقاتی جمع آوری داده ها استفاده می کنند:

  • اتصال: پیوند حلقه WAN یک مگابیتی متصل به ارایه دهنده سرور ابری عمومی
  • شبیه سازی ابری: سرور میزبان برنامه وبی بر سیستم های IaaS برای محیط ابری
  • محیط کار:
    • محیط زبان برنامه نویسی – جاوا
    • نصب یک سیستم عامل ویندوز سرور ۲۰۰۸ ۶۴ بیتی
    • اجرا بر اساس ماشین مجازی Vmware
    • سخت افزار اضافی به صورت Intel Core i5-3230M CPU @ 2.66GHz, 8GB memory

۴٫۲ ارزیابی عملکرد

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

fig4-300x214

متغیرهای ورودی اینها هستند:

  • آپلود فایل D:\SACC\Data\Encrypt.txt (ورودی)
  • انتخاب الگوریتم
  • هش رمزگذاری
  • اندازه کلید
  • حال: رمزگذاری یا رمزگشایی
  1. نتایج عملکرد

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

fig5-6-300x233

fig7-300x111

 

مشاهدات بیشتری از کار اجرا شده:

  • امنیت داده ها برای برنامه های مبتنی بر ابر می تواند با استفاده از الگوریتم های رمزگذاری AES و RSA افزایش یابد.
  • وقتیکه از کلیدها به عنوان RSA 1024 بیتی و AES 128 بیتی استفاده می شود، تعیین کلید خصوصی ممکن نیست حتی اگر مهاجم کلیدهای عمومی تولید شده را داشته باشد.
  • پس از اینکه کاربر نهایی به پرتال وب ابری لاگین می کند، به برنامه ها دسترسی یافته ولی خارج نمی شود و در واقع فقط نشست فعلی را ترک می گوید، سپس در این مورد اگر یک مهاجم به سیستم کاربر نفوذ کند و تلاش نماید تا داده ها را دانلود و به سیستم کاربر دسترسی یابد، سپس مهاجم بایستی کلید خصوصی را وارد نماید.
  • اگر مهاجم در تلاشش برای نفوذ در سیستم کاربر موفق باشد، حتی به طریقی قادر به حدس زدن کلید خصوصی باشد، سپس اقدام به دانلود کرده و داده های رمزگذاری شده را دانلود می کند.
  • مهاجم می بایست در گرفتن داده های رمزگذاری شده موفق باشد ولی هنوز دسترسی به داده های اصلی می تواند ممکن نباشد.
  1. نتیجه گیری

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

مطالب مرتبط


پاسخ دهید

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