01/07/1403  
 
سه شنبه, ۰۸ فروردین ۱۳۹۶ ۱۷:۳۰ ۲۰
طبقه بندی:
  • صنفی
  • اخبار سازمان
چچ
بررسی روش مایلار  در رمزنگاری داده‌های تحت وب

ترجمه و تنظیم از مهندس صالح برزگری:

بررسی روش مایلار در رمزنگاری داده‌های تحت وب

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

چکیده

این روش توسط محققینی از دانشگاه MIT آمریکا ابداع شده است که روشی امن را برای امنیت سایت‌ها و داده‌هایی کهکاربراندر مرورگرهای وب ایجادمی‌کنند را ارائه می‌دهد. سازو کار اصلی مایلار عبارت استاز به رمز در آوردنداده‌ها در مرورگر و سپس ارسال آن به سرور. مایلار تمامی داده‌های کاربران را پیش از ارسال رمزگذاری می‌کند و کلید این رمزگذاری نیز فقط در دست خود کاربر قرار دارد بنابراین هیچ کس نخواهد توانست اقدام به رمز گشایی اطلاعات بدون کلید اصلی موجود در کاربر نهایی کند. برنامه‌های کاربردی وب تکیه به سرورهایی برای ذخیره سازی و پردازش امن و محرمانهاطلاعات دارند. با این وجود کسانی می‌توانند به تمام داده‌های ذخیره شده بر روی اینسرورها دسترسی داشته باشند مانند سازمان‌های جاسوسی، دولت‌ها، یک هکر و یایک مدیر سرور کنجکاو. هدف رمزگذاری روش مایلار این است که برنامه‌های کاربردی وب با استفاده از این روش بتوانند به صورتامن و کامل بهسرور دسترسی داشته باشند و همچنینبتوانند به طور کامل از داده‌های خود محافظت کنند. مایلار اطلاعات حساس رادر روی سرور به صورترمزگذاری شده نگهداری می‌کند و آن‌ها را فقط در مرورگر کاربر نهایی از حالترمز گذاری شده در می‌آورد. مایلار با استفاده از 3 چالش برای ایجاد و ساختپروسه‌های ذکر شده اقداممی‌ورزد. اول، مایلار به سرور اجازه جستجو را بر روی اسناد رمزگذاری شده می‌دهد حتی اگر این اسناد با کلیدهای متفاوتی رمزگذاری شده باشند. دوم، مایلار اجازه به اشتراک گذاری کلیدها و اطلاعاترمزگذاری شدهرابهصورت ایمندر کانالمشترک استفادهشدهتوسط همه حتی باوجود مهاجمینرا می‌دهدو در نهایت، مایلار تضمین می‌کند که کد و اطلاعات سمتسرویس گیرنده معتبر و دارای تضمینمی‌باشد، حتی اگر این اطلاعاتاز سوی سروری می‌باشد کهدر آن رخنه شدهباشد. نتایج اولیه بهدستآمدهبا استفاده از اینروش امیدوار کننده هستند: درانتقال 6 برنامه تقریباً به تغییر 36 خط کد از برنامه نیاز بود واستفاده از منابع CPU نیز در حد متوسطی بود و در حدود 17% نیاز بالاتر بهاینمنابع بودوتأخیر ارسالنیز برای یک پیامدر برنامهچتحدود50 میلی ثانیه تأخیر رانشانمی‌داد.

 

واژه‌های کلیدی:امنیت، مایلار، رمزگذاری اطلاعات، داده‌های کاربران، سرور مخرب، نفوذگر

پیشگفتار

استفاده از برنامه‌های تحت وب برای اطلاعاتمحرمانه همانندحساب‌های بانکینیاز به اعتماد به سرورهای استفاده شده برای کاربران داردتا از اینکه اطلاعاتشان از هر گونهرخنه در امانمی‌باشد اطمینانحاصل پیدا کنند. بااینوجوداعتمادبهسرورهای ذخیره سازی اطلاعاتنابجا می‌باشد، زیرا راه‌های زیادی برای رخنه به یک سرور و سرقتو نشتاطلاعاتمحرمانهموجودبر روی آنسرور وجود دارد. برای مثال، مهاجم‌ها می‌توانند از آسیب پذیری که در یک نرم افزارموجود بر روی سرور وجود دارد برای رخنه بهآناستفاده کنند. (42) یا یک مدیر شبکه ناظر بر سرور می‌تواند بهداده‌های موجود در آن دسترسی داشته باشد.(9،10)و یا قوانینی وجود دارد کهدر برخی مواقع توسط مراجع قانونی یک سرویس دهندهرامجبور بهافشای اطلاعات می‌کند.(20) با تمام ایناوصاف، آیا می‌توان اقدام به ساختبرنامه‌های کاربردی تحت وب اقدام نمود که بهطور کامل از طلاعات محافظت کرده و در عین حال دسترسی کاملی نیز به سرور داشته باشند؟

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

متاسفانه، این رویکرد از 3 عامل: امنیت، عملکرد و کاهش بهره وری رنج می‌برد. اولاً سروری کهدر آنرخنه شده باشد می‌تواندکدهای مخربی رابه سمت مرورگر سرویس گیرنده ارسال کرده و بدینترتیب بهاستخراج کلیدکاربر و داده‌های وی اقدام ورزد. اطمیناناز اینکهسرور در مقابل اینرخنه‌ها مقاومت خواهد کرد مشکل است زیرا برنامه‌های تحتوب شامل بسیاری از فایل‌هامانند صفحاتHTML، کدهای جاوا اسکریپت وورق‌های  CSSهستندوصفحات HTML اغلب به صورت پویاتولید می‌شوند. دوما، این رویکرد اشتراک گذاری اطلاعات بین کاربران رافراهمنمی‌کندکهاینتابعی بسیار مهمدر برنامه‌هایکاربردی تحتوبمی‌باشد. برای حلاینمشکل، کسی ممکناست اسناد رمز نگاری مشترکی باکلیدهای جداگانه ای تولید کند وسپس هر کلید منحصر بهفرد تولید شدهبرای هر کاربر رااز طریق سروری که ایناسناد در آن بهاشتراک گذارده شده‌اند را در اختیار آنانقرار دهد. بااینحال، توزیع کلیداز طریق سرور چالش بر انگیز خواهد بود؛زیرا اگر در سرور ذکر شدهنفوذ شود می‌تواند کلیدهای خود سرانه ودروغینی رابهسوی کاربرانعرضه کرده ودر نتیجه کاربر را به استفادهاز کلیدهای نادرست فریب دهد. سوما، این رویکرد مستلزم آناستکه همهبرنامه‌های کاربردی باید در مرورگر کاربر اجرا شوند زیرا داده‌های رمز گذاری شده توسط خود آن کاربر رمز گشایی خواهد شد؛امااین کار اغلب غیر عملی است. به عنوان مثال، انجام جستجوی یک کلید واژه نیاز بهدانلود تمامی اسناد در مرورگر دارد.

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

فصل اول

اشتراک گذاری داده‌ها

در این فصل می‌خوانید:

·       اشتراک گذاری داده‌ها

·       محاسبات بر روی داده‌هایرمزگذاری شده

·       روایی و پایایی داده

 1-1 اشتراک گذاری داده‌ها

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

جستجوی کلیدواژه‌ها یکعملیات مشترکدر برنامه‌های کاربردی تحتوب است، امااغلب اجرای آنبر روی سرویس گیرندهبهدلیل آنکه نیاز به دانلود حجمبالایی از داده‌ها وجود دارد غیر ممکن می‌باشد. در حالی کهطرح‌های رمزگذاری عملی برای جستجوی کلیدواژه وجود دارد. آن‌هانیاز بهاطلاعات رمزگذاری شده بااستفادهاز یک کلید تنهانیاز دارند. اینمحدودیت برنامه‌هایکاربردی وب را که کاربرانبسیاری دارند رابا مشکلاتی مواجه می کند، چون داده‌های رمزگذاری شدهکلیدهای مختلف وزیادی خواهند داشت. مایلار اولینطرح رمزنگاری استکه می‌تواندباانجامجستجوی کلید واژه مؤثر، داده‌های رمزگذاری شده را با کلیدهای مختلف فراهم کند. کاربر یککلمه رمزگذاری شدهرابهسوی سرور می‌فرستد وسرور تمامی اسنادی راکهحاوی اینکلمه باشند رابهسوی کاربر برمی‌گرداند، بدونیادگیری کلمه یا محتویاتداخل اسنادی که بر می‌گرداند.

1-3 روایی و پایایی داده

با مایلار، کد در حالاجرا در یک مرور گر وب بهداده‌های رمزگذاری شدهکاربرو کلیدآندسترسی خواهدداشت، اماخودکد امکان ارسال از  یک سرور غیر قابل اطمینان را دارد. برای اطمینان از اینکه اینکد دستکاری نشدهاست، مایلار درستی کد را با امضای صاحب محتوای وب سایت چکمی‌کند. اینچکوبررسی امکان پذیرمی‌باشدزیرا کد برنامه‌های کاربردی وداده‌ها بهطور جداگانه در مایلار هستند، به طوری کهکدها به صورتساکن می‌باشد. مایلار از دو منبع برای تأیید کد در برنامه‌های وب استفادهمی‌کند. میزبان‌های اولیه اصلی کهدر بالاترین سطح از صفحات HTML از برنامه‌ها قرار دارند اولینو مقدم‌ترین تأیید کننده کلیدعمومی می‌باشد که در گواهی نامه سرورهای X.509 پیدا می‌شوند و بهعنوان منبعاول شناختهمی‌شوند. همهفایل‌های دیگر از منبع دیگری می‌آیند؛بنابراین اگر آن‌ها بهعنوانبالاترین سطح صفحاتبار گذاری شوند، آن‌هادسترسی بهمنبع اصلی واولیه رانخواهندداشت. مایلار مخلوطی از اینفایل‌هارابامخلوطی کهدر بالاترین سطح از صفحاتموجود استمقایسهو تأییدمی‌کند. برای ارزیابی طراحی مایلار، ما نمونهاولیه ای را در بالاترینسطح از چارچوب یک برنامهکاربردی ایجاد کردیم (29). سپس ما 6 برنامه کاربردی را وارداین چارچوب کردیمتابااستفادهاز روش مایلاربهحفاظت اطلاعاتمحرمانهآن‌هابپردازیم: یکبرنامهاندومتریوز پزشکی برای اطلاعات محرمانه بیماران، یک وبسایت برایمدیرتتکالیف و نمرات، یک برنامهچتبهنام Kchat، یک وبسایت انجمن تخصصی، یکرویداد نگار ویکبرنامهبهاشتراک گذاریعکس. برنامهاندومتریوز برای جمع آوری اطلاعات از بیماران مربوطه باشرایط پزشکی وسوابق آنان می‌پردازد. نسخهامنمایلار در حالحاضر توسط ادارهثبتاختراعات تستشدهوتحت IRB، قبلاز انتشار آن بهتصویبرسیدهاست. نتایج مانشانمی‌دهدکهمایلار نیازبه تلاش کمتری برای توسعه دارد: مابهطورمتوسط نیازبهتغغیر36 خط از کد برای هر برنامه داشتیم. ما همچنینبه ارزیابی عملکرد مایلار در 3 برنامهاز برنامه‌هایذکر شدهبالاپرداختیم. برای مثال در برنامه Kchat، نتایج مانشانمی‌دهند کهمایلار سر بار نسبتاً کمی را ایجاد می‌کند: یک کاهش 17% درصدی در منابع وافزایش 50 میلی ثانیه ای برایبیشتر عملیاتمشترک انجامشده بهعنوانمثالارسالیکپیغام، ایننتایج نشانمی‌دهدکهمایلار گزینه خوبی برای برنامه‌های بهاشتراک گذاری می‌باشد کهتعداد زیادی کاربر دارند.

 فصل دو

پیشینه

در این فصل می‌خوانید:

·       امنیت برنامه‌های وب

·       سرورهای غیر قابل اعتماد

·       سخت افزار قابل اعتماد

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

2-1 امنیت برنامه‌های وب

بخش عمده ای از کار مربوط به امنیت برنامه‌های تحت وب به طور اعم بر روی اشکالاتناشی از نقص‌های امنیتی است که در کد منبعبرنامهروی می‌دهد یا چک کردن کد کهاز یک سیاستامنیتی پیروی کند (11،44) و یا نقص سیاست‌های امنیتی در زمان اجرا (46،24،18) تمرکز می‌کند. در مقابل، مایلار فرض را بر اینکهکه هر بخشی از سرور ممکن است به خطر بیافتد قرار می‌دهد مانند آسیب پذیری نرم افزارهای موجود بر روی سرور و یایک اپراتور غیر قابل اعتماد ناظر بر سرور وبدینگونه سعی می‌کندتاتحتهر شرایطی از محرمانهبودنداده‌هامحافظتبهعمل آورد. در سمتمرور گر وب، یکنفوذگر معمولاً از رخنه‌های موجود در کدهای جاوا اسکریپت و یا رخنه و ایرادهای موجود احتمالی بر روی سایر نرم افزارهای موجود برای نشت اطلاعات استفاده می‌کند کهباید با استفاده از تکنیک‌هایی مانندبروز رسانی ایننرم افزارهاجلوی ایننشت ورخنه‌ها راگرفت (1،16،45). مایلار فرض می‌کندکهبرنامهنویس سهواً کاری برای نشتداده‌هاازسمتسرویس گیرنده انجامنمی‌دهد، اما در اصل می‌تواند با استفاده از تکنیک‌هایی به مقابله با ضعف‌ها و ایرادهای موجود در کدهای سمت گیرنده بپردازد. در حقیقت با استفاده ازبرخی روش‌های رمزگذاری می‌توانبهحفاظت اطلاعاتمحرمانهدر برنامه‌های کاربردی وب پرداخت. همانگونه کهبعداًبهتوصیف آنخواهیمپرداخت برخلاف مایلار، هیچ کدام از روش‌های رمزگذاری دیگر قادر بهپشتیبانی حجم وسیعی از داده‌های پیچیده تحت وب نیستند و یا توانایی انجام محاسبات و پروسس های مربوط به اطلاعات رمزگذاری شده در سرورها و یا مقابله با مشکل مدیریت و دسترسی ایمن به اطلاعاتبه اشتراک گذاشته شده را ندارند.مقاله کریستودورسچ (12) که برای رمزگذاری و رمز گشایی اطلاعات در مرور گر وب قبل ازارسال آنبهیکسرور غیر قابل اعتماد به رشتهتحریر در آمده‌اند، فاقد هر گونهاطلاعاتی از چگونگی ساخت در یکسیستمعملی است. چندین وب سایت به اشتراک گذاری داده‌ها اطلاعات را قبل ازارسال آنبه سرور در مرور گر کاربر رمزگذاری می‌کنندو این اطلاعات را در مرورگر کاربری کهمی‌خواهد این اطلاعاترا دانلود کند رمز گشایی می‌کنند (14،28،35). کلید نیز توسط قطعات مخلوطی از URL ذخیره می‌شود (28،35)، یا توسط کاربر تایپ می‌شود (14)و کلید داده‌هاتوسط هر صفحهجاوااسکریپت قابلدسترسی هستند. بهعنوان یکنتیجه، یک هکر ویا رخنه گر فعال می‌تواندتوسط کد جاوا اسکریپت به نشتکلیدوبهدستآوردنآناقدام کند. در حالی که مایلار در مرورگری کهباآنکار می‌کند نسبتبهتأییداینکهآیاکد کلید سمتسرویس گیرنده دست کاری شده است عملمی‌کند. سیستم‌های دیگری نیز هستندکهاطلاعاترمزگذاری شده ورمز گشایی شدهرا بهسرور ارسال می‌کنند (7،13،33،34). این روش‌ها نیز از هماننکاتضعف ذکر شده رنج می‌برند. آن‌ها نمی‌توانند از عهدهحملاتفعال بر آیندو همچنیننمی‌توانندبدون آشکار سازی مقدار قابل توجهی از اطلاعات موجود در سرور بهمحاسبه داده‌های رمز گذاری شده بپردازند. (40) Cryptocat یک برنامه چترمزگذاری شدهمی‌باشدکه کد این برنامه تحت یک افزودنی برای مرور گر می‌باشد و به منظور مقابله با حملات فعال از یک برنامه تحتوب توزیع نمی‌یابد (39). با گسترش مایلار بر روی مرورگر اهداف چند گانه ای دنبال می‌شود: مایلار اجازه می‌دهد تا تأیید کد از برنامه‌های کاربردی بدون نیاز کاربر به افزونه‌های جداگانه ای‌ای برای هر نرم افزار باشد. بدین ترتیب برنامه Cryptocat  نیز می‌تواند از مایلار بهره بجوید به طوری که به رمزگذاری و جستجوی کلید واژه‌ها پیش از رمزگذاری داده‌ها در سرور بپردازد.

 2-2 سرورهای غیر قابل اعتماد

Sunder (25) (جداگزینی) از یکپارچگی فایل‌های سیستم محافظت به عمل می‌آورد و بدین گونه در مقابل سرورهای آلوده و یا مخرب ایستادگی می‌کند. SPORC (15) و  Depot (27) به گسترش طراحی SUNDARها کمک کرده و موجب ساخت برنامه‌هایی کاربردی می‌شوند که در یک سرور به شدت رمزگذاری شده قرار می‌گیرد. برای مثال، SPORC شرایطی را برای حل تعارض‌های بهوجود آمده با استفاده از تبدیل‌های عملیاتی می‌پردازد وبه طور مداوم دسترسی بهتغییرات کنترلی را ادراه می‌کند.این سیستم‌هابهیکبرنامهکاربردی کهدر طرف سرور قرار دارداجازه انجاممحاسباترانمی‌دهد، بهعنوانمثال اجازه جستجوی کلمهکلیدیمانندمایلار رانمی‌دهد. علاوه بر این، با SPORC، منطق برنامه‌هابهصورت بسیار سختی در طرف کاربر کد گذاری می‌شود. در حالیکهمایلار، منطق برنامه‌های کاربردی را در زمان اجرا مشخص می‌کندکهبر اساس URL هایی می‌باشد کهکاربراز آن‌هابازدید داشته است.(23)CryptDB از اطلاعات محرمانهموجوددر یکسرور پایگاه داده SQL با اجرای SQL queries بر روی داده‌هایرمزگذاری شدهمحافظتبهعملمی‌آورد.بااین حال، در یک پایگاهداده روتین کهمیزبانبرنامه‌های کاربردی وب می‌باشد، برنامه‌های موجودبر روی سرور اجازهدسترسی بهداده‌های غیر کد گذاری شدهرامی‌دهد و کلیدهای ورودی هر کاربر را در مواقعی کهانکاربروارد سرور می‌شود را دریافت می‌کند. در نتیجه، در حالی که CryptDB در برابر حملات وارده به سرور پایگاه دادهمحافظتبه عملمی‌آورد، هیچ تضمینیرا برایحملاتکاربرانی کهتوسط نرم افزارهای سرور به آنواردمی‌شوند را ارائهنمی‌دهد. برای مثال، اگر یک مدیرشبکه دسترسی به همه اطلاعات ورودی را داشته باشد، هنگامی که بهسرور رخنه شده باشد، مهاجم می‌تواند بااستفاده ازکلید مدیر شبکه به همهاطلاعات موجود بر روی سرور دسترسیداشته باشد. سرانجام CryptDB نمی‌تواند به انجام پردازش و محاسبات بر روی داده‌های رمزگذاری شده باکلیدهای مختلف بپردازد، در حالی که مایلار باکلیدهای متفاوتی قادر بهانجام آنکار خواهد بود. از سوی دیگر،CryptDB اجازه انجام محاسبات توابع مختلفی رابر روی داده‌های رمزگذاری شده نسبت به مایلار می‌دهد.

نتایج نظری نشان می‌دهند که امکان محاسباتبر رویداده‌های رمزگذاری شدهدر سرورهای غیر قابلاعتماد ورخنه شده کهبااستفاده از روش‌های رمز نگاری هم ریختی و عملکردی رمزگذاری شده‌اند وجود دارد (17،19،26). بااین حال، بعضی اهداف چند منظوره که از روش‌های دیگریبرای امنیت بالا استفاده می‌کنند بیش از حد آهسته و دارای پردازش بالایی می‌باشند کهبهعملنزدیک نمی‌باشد. طرح‌های بسیار دیگری برای انجام جستجوی کلید واژه‌هابر روی داده‌های رمزگذاری شده ارائه شده‌اند (21،36) همهاین طرح‌هانیز بر فرض استفاده از کلیدی تنها و یکسان بنیاننهاده‌اند.مایلار اولین طرح عملی را برای انجام جستجوی کلید واژه‌ها بر روی داده‌های رمزگذاری شده توسط کلیدهای مختلفی را فراهم می‌کند(3). رمزگذاری دوباره پروکسی اجازه تعویض کلید تحت برخی از داده‌های رمزگذاری شده در زمینه رمزگذاری کلید عمومی رامی‌دهد، اما این طرحنیز یک طرح جستجوی کارآمد را فراهم نمی‌کند.

2-3 سخت افزار قابل اعتماد

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

فصل سوم

  معماری مایلار

در این فصل می‌خوانید:

·       معماری مایلار

·       بررسی اجمالی سیستم

·       اجزاء مایلار

·       هویت ارائهدهنده (IDP)

·       مایلار برای توسعهدهندگان

·       مایلار برای کاربران

معماری مایلار

3 جزء مختلف در مایلار وجود دارد کهعبارت‌انداز: 1. کاربران، 2. صاحب سایت، 3. اپراتور سرور. هدف مایلار کمک بهصاحبانوب سایتبرای حفاظت از اطلاعات محرمانه کاربران در مواجهه بایکاپراتور سرور مخرب ویا بد افزارهامی‌باشد.

3-1 بررسی اجمالی سیستم

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

1.      محاسباتسمتسرویس گیرندهبر روی داده‌های دریافتی از سرور فعالباشد.

2.      اجازهسمتسرویس گیرندهبرای رهگیری داده‌های ارسالی بهسرور و داده‌های برگشتی از سمتسرور.

3.      کد برنامه‌های کاربردی از داده‌های دیگر جداباشد، بهطوری کهصفحاتHTML عرضه شده توسط سرور به صورت ایستا (استاتیک) باشد.

4.      برنامه‌های کاربردی وب تحت AJAX با یکرابطه واحد و یکپارچه برای ارسالاطلاعاتبر روی شبکه به طور بی نظیری مدلبسیار مناسبی می‌باشد (Meteor)(29). چنینمدلی یکچهار چوب تمیز برای ارائه امنیتمی‌باشد، زیرا آن‌ها به صورت جداگانه به ارسال دادهاز صفحاتHTMLایکهحاوی داده‌هامی‌باشد می‌پردازند. در مقابل، چارچوب سمت سرور بهطور سنتی بهترکیب داده پویا (دینامیک) در صفحات HTMLبه صورت دلخواه می‌پردازد و این مساله رمزگذاری و رمز گشایی داده‌های پویا را دشوار می‌سازد؛و مایلار اینمساله را که آیاصفحاتثابت دستکاری شدهیاخیر را چکمی‌کند (37).

3-1-1 اجزاء مایلار

همان طور کهدر شکل 3-1 مشاهدهمی‌فرمایید اجزاء مایلار نشاندادهشدهاست. مایلار از 3جزء تشکیل شده است:

1.      برنامهتوسعهمرور گر (Browser extension): مسئولیتتأیید ایننکته کهکدهای سمت سرویس گیرنده ازیکبرنامه تحت وب کهاز طرف سرور بار گذاری شده است و دستکاری نشدهباشد.

2.      کتابخانه سمت سرویس گیرنده (Client Side Library): رد گیری اطلاعاتارسالی و دریافتی به سرور و رمزگذاری و رمز گشایی ایناطلاعات. هر کاربر دارای یک جفت کلید خصوصی  عمومی می‌باشد. کتابخانه سمت کاربر کلید خصوصی از کاربر در سرور را نگهداری می‌کند وبا رمز ورود کاربر بهرمز نگاریآن می‌پردازد. کتابخانه سمت کاربر و یا سرویس گیرنده بهباز خوانی و رمز گشایی کلید خصوصی کاربر می‌پردازد. (همچنین کلیدخصوصی می‌توانددر یک سرور قابلاعتمادسومنیز نگهداری شود کهبرای محافظتبهتر از حمله‌های حدس زدن رمز عبور وبازیابی رمزهای فراموش شدهبدونایجاد دوبارهکلید.) برای اطلاعات اشتراکی، استفاده کنندهمایلار کلیدهای جداگانه ای ایجادمی‌کندکهاینکلیدهابهطور رمزنگاری شدهدر سرور نگهداری می‌شوند.

3.      کتابخانهسمتسرور (Server Side Library): انجام محاسبات برروی اطلاعات رمز گذاری شده در سرور. به طور خاص، مایلار از جستجوی کلید واژه‌ها بر روی اطلاعات رمز گذاری شده پشتیبانی به عمل می‌آورد ودرعمل نیز مشاهدهمی‌شود کهبرنامه‌های کاربردی بسیاری به جستجوی کلید واژه‌ها برروی این اطلاعات می‌پردازند.

شکل 3-1 : بررسی اجمالی سیستم. اجزای سایه دار تنها به داده‌های رمزگذاری شده دسترسی دارند. مرزهای ضخیم نشان از اجزای ارائه شده توسط مایلار دارند

3-2 هویت ارائهدهنده (IDP):

...... (متن کامل مقابله صورت PDF در دسترس می باشد )

فایلهای پیوست
منبع:
آدرس کوتاه شده: