بخشی از مقاله
چکیده
بعنوان بخشی از محاسبات ابری، "نرم افزار؛ بعنوان خدمات" یا1 SaaSکاربر را قادر میسازد که با کمک نرمافزار برون سپاری برای ارائه خدمات بر حسب تقاضا، هزینه های خود را کاهش دهد, در این صورت، محاسبه و ذخیرهسازی ها در سرور انجام میشود. به هر حال، داده ها در هنگام انجام محاسبات ؛ در حافظه رمز گشایی میشوند؛ و بعدا در حین ذخیره سازی و انتقال رمز گذاری میشوند. در این مورد مجریانِ تامین کنندگان SaaS قادر به اصلاح داده ها و محاسبات کاربر میباشند. در نتیجه؛ کاربر نمیتواند به تهیه کنندگان SaaS اعتماد کنند، که این یکی از فاکتورهای بلوک شدن گسترده SaaS است. برای نشان دادن این مشکل، این مقاله یک پلتفرم قابل اعتماد SaaS با نام trusted SaaS platform - TSP - را پیشنهاد میدهد, که امنیت داده ها در حین ذخیره سازی و انتقال را تضمین میکند ؛ 2 TSP ایجاد یک محیط اجرایی قابل اطمینان را ایجاب میکند که اطمینان و یکپارچگی داده ها و محاسبات را تضمین میکند.
واژههای کلیدی:محاسبات ابری، SaaS، محاسبات قابل اعتماد، رمزگذاری، ذخیره سازی، برون سپاری
-1 مقدمه
در صنعت نرم افزار ی جدید ؛ مدل "نرم افزار بعنوان خدمات" - Software as a Service - SaaS به سرعت رو به رشد است و بنظر میرسد که آینده روشنی داشته باشد. جدا از فروش لیسانس نرم افزار؛ و نصب ان روی کامپیوتر فرد؛ تامین کننده خدمات، یک اپلیکیشن را روی پشته زیر ساختی آن بکار اندازی میکند و بعنوان خدمات بر حسب تقاضای کاربر، به آن در اینترنت لیسانس میدهد. اگر چه کاربران با کاهش هزینه کلی مالکیت - TCO - 3 و سایر جذابیتهای SaaS جذب میشود - مثل بکارگیری بهتر منابع، مقیاس پذیری دسترسی کاربردی تر و غیره - ؛ از سوی دیگر نگران از دست دادن کنترل داده هایشان پس از تطبیق با خدمات SaaS است. زیرا اپلیکیشن های SaaS بر حسب فرآیندهایی کار میکنند که در ملکیت تهیه کننده آن است که ممکن است هزاران مایل از کاربر دور باشد. بنابراین همیشه کاربر در قرار دادن اطلاعاتش در ابر SaaS مردد است. این نگرانیهای کاربران منطقی است زیرا اطلاعات انها بخصوص اطلاعات حساس کاری مرکز قدرت انها محسوب میشود. در صورتی که داده های کاری آسیب ببینند؛ ممکن است به کمپانی ضرر برسد.[1]
بنابراین تقاضای کاربر ساده اما چالش زا است: هیچ کس - حتی مجریان و تهیه کنندکان . - SaaS نباید اطلاعات آنها را ببیند اما مالک اطلاعات محتوای انها را میداند. همیشه یک قیاس برای اعتماد به تامین کنندگان SaaS وجود دارد: داده های شما در ابر دارای امنیت هستند، درست مانند پول شما که در بانک امن است. این اطمینان سازی خیلی مفید نیست زیرا پول هر فرد در بانک با پول فرد دیگر در بانک فرقی نمیکند در حالیکه داده های هر فرد با داده های دیگران متفاوت است و بخصوص داده های کاری بسیار حساس هستند. بنابراین تامین کنندگان SaaS همواره سعی در به روز رسانی نرم افزار خود برای ایجاد اطمینان در کاربر هستند - Google Docs با مسایل امنیتی درگیر هستند - و توافق سطح خدمات 1 - SLA - امروزه در سطح وسیعی استفاده میشود تا در یک سطح قانونی, بر روی استفاده تهیه کنندگان نظارت کند.[2]
اما راه حلهای فنی که اطمینان و یکپارچگی داده ها را در مدل SaaS تامین میکند میتواند تا حدی تردید کاربران را کم کند. رمز گذاری داده ها یک رویکرد موثر برای محافظت از داده ها برای کاربران SaaS در حین انتقال و ذخیره سازی داده ها است. برخی از تحقیقات بر روی محاسبه داده های رمز گذاری شده انجام شده است؛ زیرا اکنون یک راه راه حل بالغی برای مشکل وجود ندارد. علاوه بر این؛ پس از همه مراحل، کار با داده های رمز گشایی شده برای تهیه کنندگان SaaS آسان تر است.[3] بنابراین تهیه کنندگان SaaS بیشتر تمایل دارند که خدماتی فراهم کنند که بتواند فقط داده های رمز گذاری نشده کاربران را پردازش کند و داده ها باید در حین انجام محاسبات در حافظه SaaS میزبان باقی بماند و هر فردی - مجریان میزبان - که میتوانند به این میزبان دسترسی داشته باشند؛ میتوانند داده های رمز گذاری نشده ی کاربران را جاسوسی یا اصلاح کنند، این مقاله تلاش میکند تا یک راه حل که اطمینان و یکپارچگی داده های کاربران در مدل SaaS را تضمین میکند را تهیه کند.[4]
پلتفرمهای قراردادی محاسبه ای مورد اعتماد مانند Terra با اجرای محاسبات در ماشینهای مجازی - VM - 2؛ قادر به جلوگیری از اینکه مالکان ماشین, در داده ها جاسوسی کنند یا انها را تغییر دهند میباشند. به هر حال این پلتفرمها نمیتوانند به دلایل زیر این مشکل را بر طرف کنند . اول آنها نمیتوانند فردی را که ماشین را راه اندازی میکند را مشخص کنند. اگر VM با تهیه کننده SaaS بعنوان مالک VM راه اندازی شود در انصورت این فرد میتواند دوباره در داده ها جاسوسی نموده یا آنها راتغییر دهد. دوم در سیستم SaaS قراردادی، هر اپلیکیشنی نیاز به یک مدل محاسباتی دارد؛ یک مدل برای ذخیره سازی و یک مدل برای محاسبه. یک معمار ی ساده شده که در شکل - 1 - نشان داده شده است، در یک سیستم قراردادی SaaS متشکل از سه نوع سرور ذخیره سازی، محاسبات و انتقال است.[5]
شکل - 1 - سیستم قراردادی SaaS
اگرچه این پلتفرمها میتوانند تضمین کنند که سه سرور قابل اعتماد هستند، نمیتوانند تضمین کنند که سیستم SaaS نیز به همان خوبی قابل اعتماد است. مثلا سرور انتقال قادر به انتقال داده های کاربران به یک سرور غیر قابل اعتماد است ؛ اگر چه خودش قابل اعتماد است. در واقع انتقال و ذخیره سازی ضرورتا قابل اعتماد نیست. رویکرد پیشنهادی به سمت محاسبه ابری قابل اعتماد تنها میتواند برای IaaS استفاده شود و نمیتواند این مشکل را به دلایل زیر حل کند. دلیل اول مشابه پلتفرمهای محاسبه قراردادی قابل اعتماد است؛ یعنی TCCP نمیتواند فردی را که ماشین مجازی را راه اندازی میکند ؛مختص نماید. دوم؛ معماری استفاده شده در TCCP یک مدل موکل/ سرور است و رمز گذاری داده های کاربر با کمک کلید قابل اعتماد کاربر در سمت مشتری اسان است. در سیستم SaaS، مشتری به هر حال مرور گر است که در ان رمز گذاری تنها برای انتقال استفاده میشود - مثل . - TLS سوما, پروتکلهای استفاده شده در TCCP نمیتواند برای حل این مشکل استفاده شوند.[6] در TCCP پروتکلها عمدتا برای ثبت گره و امنیت راه اندازی ماشین مجازی و مهاجرت هستند. در سیستم SaaS هدف اصلی کاربر این است که تهیه کنندگان SaaS داده های انها را بدون تغییر فراوری کنند و نتیجه را بدون اصلاح و جاسوسی برگردانند.
برای حل این مشکل؛ در این مقاله یک پلتفرم SaaS قابل اعتماد پیشنهاد شده است که قسمت سوم را قادر میسازد که ماشین مجازی را بعنوان یک محیط اجرای قابل اعتماد - TEE - در سرور محاسبه؛ اجرا نماید. از این طریق مجریان ممتاز ِ تامین کنندگان SaaS میتوانند به میزبان فیزیکی TEE دسترسی داشته باشند؛ انها نمیتوانند به TEE دسترسی داشته باشند زیرا TEE بوسیله انها راه اندازی نمیشود.[3] با در نظر گرفتن دستاورد قابل اعتماد مانیتور ماشینهای مجازی قابل اعتماد ؛ مجریان ممتاز نمیتوانند دسترسی بدون اجازه به TEE را داشته باشند. همچنین TEE در جایی وجود دارد که همه رمز گذاری ها ، محاسبات و رمز گشایی ها انجام میشود, بنابراین میتواند از قابلیت اعتماد و یکپارچکی داده ها , اطمینان دهد . علاوه بر ان TSP ؛داده های ذخیره شده در سرور ذخیره سازی را نیز مطمئن میکند و داده ها در میان این اجزا مبادله میشوند - یعنی موکل SaaS ؛ سرور انتقال ؛ سرور ذخیره سازی و سرور محاسبات - . و همه انها با در نظر گرفتن دستاورد ابزار USB در SaaS مشتری و پروتکلهای میان این اجزا رمز گذاری میشوند تا اینکه داده ها در حین ذخیره سازی یا انتقال جاسوسی یا تغییر داده نشوند.[7]
در این مقاله ما نشان میدهیم که چگونه میتوانTSP را با گرفتن دستاورد تکنولوژهای محاسباتی قابل اعتماد طراحی کرد. بخش SaaS 2 را معرفی میکند و یکی از اجراهای با منبع باز IaaSکه Eucalyptus نامیده میشود را نیز معرفی میکند. همچنین تکنولوزهای وابسته را معرفی میکند و وجود چالش بین کاربران SaaS و تهیه کنندگان را توضیح میدهد. بخش3 طراحی TSP ما را ارائه میکند و نهایتا بخش 4 این مقاله را جمع بندی میکند و درباره کارهای آینده توضیح میدهد.
-2 پیش زمینه الف- محاسبه ابری
محاسبه ابری به هر دو کاربرد ارائه شده بعنوان خدمات در روی اینترنت و سخت افزار و سیستم نرم افزاری در مراکز داده ای که خدمات را تامین میکنند اشاره میکند. در لایه بالاتر از محاسبات ابری , به خدمات با عنوان SaaS اطلاق میشود , در حالیکه در لایه پایین تر , این واژه به خدماتی که سخت افزار به کاربران ارائه میدهند و به کاربران اجازه میدهند که به کل VM میزبانی شده توسط تامین کنندگان دسترسی داشته باشند؛ بعنوان زیر ساخت برای خدمات - IaaS - اطلاق میشود .
اطمینان از داده ها یکی از 10 موضوعی است که در زمینه محاسبات ابری مطرح است. Nuno و Santos یک راه حل را برا ی IaaS ارائه کردند ؛ در حالیکه راه حل ایده آلی برای SaaS وجود ندارد.[8] -1 نرم افزار به عنوان خدمات: در لایه بالاتر محاسبات ابری؛ salesforce.com - و غیره - یک اپلیکیشن انلاین کامل را برای کاربر ارائه میدهند که خدماتی را در اینترنت ارائه میدهد. کاربران و تهیه کنندگان از انتقال به مدل SaaS سود میبرند - مثل کاهش . - TCO به هر حال کاربران هنوز در باره قرار دادن اطلاعات خود در ابر SaaS مردد