در این بخش ابتدا به بیان مفاهیم بنیادی امنیت با ارائه چند تعریف عام و خاص از آن میپردازیم و پس از کسب شناخت کافی از مفهوم امنیت مجدداً به معماری سرویسگرا و نیازهای امنیتی آن برخواهیم گشت سپس امنیت و استانداردهای امنیتی را در معماری سرویسگرا مورد بررسی قرار میدهیم.
2-3-1 مفاهیم پایهای امنیت
دانش عمومی «امنیت» را وضعیتی بدون خطر[1] و ریسک[2] تعریف میکند. به عبارتی وضعیتی فارغ از شبهه، تشویش یا نگرانی است. امنیت رایانه محدود است به توصیف شاخهای از علم کامپیوتر که با ریسکها، تهدیدها و مکانیزمهای مربوط به استفاده از سیستمهای محاسباتی سروکار دارد[27]. مفهوم امنیت در سیستمهای رایانهای اولیه که اغلب به صورت متمرکز بودند چندان اهمیتی نداشت. با گسترش استفاده از رایانه و چند کاربری شدن، نیاز به امنیت پررنگتر شد[28].
حال میخواهیم بدانیم هدف از تعبیر امنیت در حیطه نرمافزار چیست. اهداف امنیتی را میتوان مشخصهها و جنبههایی برای تضمین امنیت که توسط یک مدل دنبال میشود دانست. دیدگاهها و نظرات مختلفی برای اهداف امنیتی در نرمافزار وجود دارد. به عنوان مثال از دیدگاه بیوشاپ[3] سه جنبه اساسی از امنیت رایانه عبارتند از: رازداری، جامعیت و دسترسپذیری[4] [27]. در دیدگاهی دیگر، منزس[5] هفده هدف اساسی برای امنیت اطلاعات بیان کرده است که در بین آنها اهدافی مانند رازداری، جامعیت، تعیین هویت[6] و اعتبارسنجی وجود دارد[27]. آقای هفنر[7] در [27] استنباط میکند این اهداف امنیتی از چهار آرمان نهفته رازداری، جامعیت، اعتبارسنجی و عدم-انکار[8] مشتق شدهاند. در برخی منابع، اصول و اهداف امنیتی را از هم جدا نمیدانند یا حداقل، برخی از اهداف امنیتی و اصول آنرا مشترک میدانند. در [29] هفت اصل امنیتی به عنوان مبنایی برای یک راهحل امنیتی مناسب در نظر گرفته شدهاست که عبارتند از : اعتبارسنجی، اختیارسنجی، جامعیت، دسترسپذیری، رازداری، ممیزی و عدم انکار. برخی از این اهداف با جنبههای وظیفهمندی امنیت مشترک هستند. این جنبهها طبق[30] شامل: اعتبارسنجی، اختیارسنجی، رازداری دادهها، حفاظت در مقابل حملات و محرمانگی[9] هستند. اما آنچه در متون مختلف به عنوان اهداف امنیتی به طور مشترک آمده است همان سه هدف اساسی رازداری، جامعیت و دسترسپذیری است [15, 27, 29, 30]. در ادامه هرکدام از این اهداف را به طور مختصر شرح میدهیم.
رازداری: رازداری را عدم افشای اطلاعات برای فرآیندها، موجودیتها یا کاربران غیرمجاز تعریف میکنند[29]. از طرفی در [27] رازداری هدفی است که در آن دادهها باید تنها توسط موجودیت که مجوز مناسب دارد قابل خواندن باشد. در تعریفی سادهتر رازداری «محافظت از پوشیدگی دادههای حساس» است[30]. به عبارتی میتوان گفت یکی از اهداف امنیت در راستای حفاظت از افشای دادهها و توابع حساس سیستم برای کاربر و یا موجودیت غیرمجاز دربرگیرنده رازداری است.
جامعیت: ممانعت از تغییر یا تخریب یک منبع اطلاعاتی توسط کاربر یا موجودیت[10] غیرمجاز است[29]. به عبارتی جامعیت هدفی است که طی دستاوردهای آن دادهها و اطلاعات نباید تغییر کنند مگر آنکه به طور صریح مجاز به تغییر باشند[27]. یعنی جامعیت تضمین میکند که محتوای پیام از لحظه خروج از مبدأ تا تحویل به گیرنده در مقصد، تغییری نکرده است[15]. در رازداری اجازه داده نمیشود که داده حساس توسط موجودیت غیرمجاز دیده شود، ولی در جامعیت اجازه تغییر و تحریف به موجودیت غیرمجاز داده نمیشود.
دسترسپذیری: به طور عام بیانگر آمادگی پیوسته سیستم به پاسخگویی درخواستهای معتبر و عدم انکار آنها میباشد. اما در بعد امنیت بیانگر حفاظت از منابع سازمان در مقابل تهدیدات انکار سرویسدهی است که ممکن است دسترسپذیری سیستم را مورد تأثیر قرار دهد[29]. امنیت در اهداف رازداری و جامعیت خود، مانع تحریف و دسترسهای غیرمجاز به منابع و دادههای حساس سازمان میشود و از سوی دیگر در هدف دسترسپذیری خود بیان میکند که نباید مانع دسترسیهای مجاز و پاسخدهی به درخواستهای معتبر شد و سیستم باید در هر حال برای پاسخگویی به این گونه درخواستها، در دسترس باشد.
برای دستیابی به هر کدام از این اهداف امنیتی میتوانیم از سیاستهای امنیتی که این اهداف را محقق میسازد استفاده نمود.
2-3-2 سیاستهای امنیتی
اهداف امنیتی یک ردهبندی نوعی از آرمانها را فراهم میکند که ممکن است برای رسیدن به نوع مشخصی از نیاز امنیتی سهیم باشند. آرمان امنیتی ممکن است بر اساس زمینه کاربردشان، معمولاً به دو صورت مطرح میشوند: این دو گونه، سیاست امنیتی و نیازهای امنیتی هستند که در ادامه تشریح میکنیم. یک سیاست امنیتی، یک هدف امنیتی خاص یا ترکیبی از آنها را محقق میسازد که به این صورت تعریف میشود: حکمی که مشخص میکند چه چیزی مجاز و چه چیزی غیرمجاز است. سياستهاي امنيتي به عنوان مدلهاي نيمه رسمي تعريف ميشوند. رسمي از آن جهت كه میتوان آنها را به صورتي بيان كرد كه براي پيكربندي مكانيزمهاي امنيتي توسط ماشين، قابل قرائت و فهم باشند، و غير رسمي از آن جهت كه تعريف رياضي براي آنها ارائه نشده است. ايراد درستي كه بر سياست امنيتي وارد ميشود اين است كه به دليل نيمه رسمي بودن، نميتوان آن را به طور غير مبهم فرموله كرد. با اين وجود، ديدگاه مطرح شده فعلي، بيشتر بر جنبههاي اجرا پذیری و قابليت استفاده تاكيد دارد. يك سياست رسمي، ممكن است از دقت بالايي برخوردار باشد يا تنها راه اثبات صحت يك سياست در سطح مشخصي از دقت باشد، اما اين مزايا با يك هزينه سربار بسيار بالايي همراه باشد كه ممكن است در عمل چندان كاربردي نباشد. يك سياست كارا را بر اساس يك توافق عام و تفسير جامعه نرمافزاري كه از آن استفاده ميكند، تعريف ميكنند. با اين حال، مدلهاي رسمي هر جا كه لازم باشد، ميتوانند با بسترهاي مختلف يكپارچه شوند. در اساس، بين سياستهاي امنيتي پايهای و سياستهاي امنيتي پيشرفته تمايز وجود دارد. گونه دوم بر مبناي مدل رسمي سياست است[27].
به عبارتی سیاست امنیتی قواعد سطح بالایی است بر اساس این که چه کنترل دسترسی باید تنظیم شود. همچنین مدل امنیتی یک ارائه رسمی از سیاست امنیتی و عملکرد آن است.
2-3-3 نیازمندیهای امنیتی
در مقابل سياست امنيتي كه براي مديريت امنيت به عنوان مجموعهاي از «چه چیزهایی مجاز و چه چیزهایی غیرمجاز است»، نيازمنديهاي امنيتي روي مراحل اوليه مهندسی (مرحله جمعآوري اطلاعات تمركز دارد). يك نيازمندي امنيتي، يك توضيح مفصلِ مستقل از زمينه براي يك هدف امنيتي است[27]. نيازمندي امنيتي يك هدف امنيتي را به چند توصيف مفصلتر بر اساس نتايج تحليل امنيت، تقسيم ميكند. نيازمنديهاي امنيتي را ميتوان به دو كلاس كلي دستهبندي كرد: نيازمنديهاي وظيفهمندي و غيروظيفهمندي[30]. جنبههاي وظيفهمندي امنيت عبارتند از:
الف) اعتبار سنجي يا تشخيص صحت هويت کاربران.
ب) اختيارسنجي يا تصميم بر دادن يا ندادن اختيار براي انجام يك عمل توسط كاربر شناخته شده روي يك منبع مشخص.
ج) رازداري دادهها يا محافظت از محرمانه بودن دادههاي مهم.
د) جامعيت داده يا تشخيص تحريف دادهها و اطمينان يافتن از آنكه هيچ كدام از فرستنده يا گيرنده نميتوانند داده ارسالي يا دريافتي را تغيير دهند.
ه) حفاظت در مقابل حملات يا اطمينان يافتن از آنكه مهاجمها نميتوانند روي كاربرد، كنترلي به دست آورند.
و) پوشيدگي يا اطمينان از این که برنامه كاربردي، پنهان بودن دادههاي كاربران را نقض نميكند.
جنبههاي غيروظيفهمندي امنيت: اين جنبهها از آنجا كه به طور مستقيم با امنيت در ارتباط نيستند، غيروظيفهمندي ناميده ميشوند و عبارتند از [30]:
الف) قابلیت تعامل: این مفهوم مختص به معماری سرویسگرا است و بیان میکند که راهحلهای امنیتی مختلف نباید سازگاری سرویسها را نقض کند.
ب) قابلیت مدیریت: نیاز است راهحل امنیتی از سرویسهای مختلف محافظت کند. یک معماری امنیتی خوب، باید به راحتی قابل مدیریت باشد.
ج) سادگی در توسعه: این جنبه برای تمامی راهحلهای امنیتی مشترک است. هر چقدر پیچیدگی توسعه راهحل امنیتی بالاتر باشد، امکان تطبیق آن با معماری مربوطه کمتر خواهد بود.
در منبعی دیگر این نیازمندیها به طور خلاصه در پنج مورد خلاصه شدهاند: تعیین هویت، اعتبارسنجی، اختیارسنجی، رازداری و جامعیت[15].
2-3-3-1 نیاز امنیتی اعتبارسنجی
به طور معمول، يك درخواست به منبع از نگاه امنيتي با ادعاي يك هويت يا شناسه شروع میشود. درخواستكننده با ارائه يك شناسه يا اعتبار، هويت خود را معرفي ميكند. سيستم بر اساس مكانيزمهاي خاص، اين هويت را شناسايي ميكند. اين همان فرآيند تعيين هويت است كه خود جزء نيازهاي امنيتي به شمار میآید، اما تعيين هويت به تنهايي كافي نيست. براي اطمينان از اينكه آيا هويت ادعا شده داراي اعتبار هست يا خير فرآيند مكمل ديگري بنام اعتبارسنجي نياز است. اعتبارسنجی فرآیندی است برای اثبات ادعای یک هویت ارائه شده. در فرآیند اعتبارسنجی، موجوديت يا كاربر درخواست كننده، همراه با شناسه خود، دليل يا مدركي ارائه ميدهد تا گيرنده درخواست، اطمينان يابد كه ادعاي وي درست است[30].
2-3-3-2 نیاز امنیتی اختیارسنجی
اختیارسنجی که معمولاً آن را با کنترل دسترسی یکسان میدانند عبارت است از «فرآیند تعیین مجاز یا غیرمجاز بودن درخواست یک موجودیت از یک منبع مشخص»[31]. در تعریفی دیگر، كنترل دسترسي به صورت فرآيند وساطت بين هر درخواست به منابع و داده هاي نگهداري شده توسط يك سيستم و تعيين اينكه آيا درخواست بايد تضمين شود يا انكار فرآيندي بيان شده است. در همان منبع، تعريف كاملتری آمده است: «فرآیندی است براي اعمال حفاظت كه طي آن، هر دسترسي به سيستم و منابع آن بايد كنترل شود و همه و تنها دسترسيهاي مجاز میتوانند انجام شوند» [27].
اين در حالي است كه [31] نگاه ظریفتری به فرآيند كنترل دسترسي دارد و آن را به اين صورت تعريف میکند: فرآيندي است كه طي آن عمليات و دسترسيهاي كاربر مجاز بر منابع سيستم كنترل ميشود و بر اساس قواعدي در مورد مجاز بودن آن تصميم گرفته ميشود. از تعريف اخير ميتوان دريافت كه كنترل دسترسی یا اختيارسنجي فرآيندي است كه بر مجموعه كاربران شناخته شده اعمال میشود. به عبارت ساده تر، اختيارسنجي هميشه بعد از اعتبارسنجي صورت میگیرد.
2-3-3-3 نیاز امنیتی رازداری
رازداري براي امنيت هم يك هدف به شمار میآید هم يك نيازمندي. منظور ما از نيازمندي رازداري «فراهم آوردن مکانیزمهایی برای محفوظ ماندن دادهها و اطلاعات حساس از دید موجودیتهای غیرمجاز» است. از آنجا که در تبادل دادهها در سیستمهای امروزی، به دلیل گستردگی و توزیعشدگی واسطهای زیادی بین فرستنده و گیرنده اطلاعات ایجاد شدهاست، نیاز است آنها را در برابر مهاجمان و استفادهکنندگان غیرمجاز محافظت نمود. اين نياز، در قالب رازداري ديده ميشود[30]. به عبارتي ديگر، نياز به رازداري زماني پررنگتر ميشود كه قرار است داده يا اطلاعات حساسي از يك مبدأ به مقصد معيني ارسال شود و در اين مسير ارسال، واسطههاي پيشبيني شده يا مهاجمان پيشبيني نشدهاي وجود خواهد داشت كه اين دادهها براي آنها افشا شوند. با استفاده از سياست رازداري میتوان وضعیتهایی را از سيستم تعيين نمود كه در آن تنها موجودیتهای اعتبارسنجي شده میتوانند به اطلاعات دسترسي يابند. چنين سياستي، نيازمندي امنيتي رازداري را برطرف میسازند. با اين حال اين سياست بر اعتبارسنجي و اختيارسنجي به عنوان ابزارهايي براي تحقق كنترل دسترسي تكيه دارد. در حالی که اعتبارسنجي مكانيزمي براي اثبات و شناسايي ماهيت يك موجوديت است، اختيارسنجي يك مدل امنيتي مشخص براي چگونگي تضمين امتيازات مختلف برای موجوديتهاي اعتبارسنجي شده را محقق ميسازد [27].
2-3-3-4 نیاز امنیتی حفاظت از داده
به طور معمول در فعاليتهاي تجاري به واسطه قوانين يا قراردادها، افشاي اطلاعات محرمانه و شخصي مشتريان امري منع شده به شمار ميآيد. اين ممنوعيت بايد در برنامههاي كاربردي كه براي خودكارسازي فعاليتهاي تجاري انساني ايجاد شدهاند، نيز اعمال شود[30]. به بياني ديگر، برنامههاي كاربردي تجاري، بايد با دقت طراحي، پيادهسازي و مديريت شوند تا از افشاي اطلاعات محرمانه كاربران جلوگيري شود. بنابراين يكي ديگر از نيازهاي امنيتي كه بايد در نظر گرفته شود، حفاظت از دادهها و اطلاعات محرمانه افراد است. رازداري و حفاظت داده مفاهيم مشابهي را پوشش ميدهند. تفاوتي كه بين آنها وجود دارد اين است كه در رازداري هدف پايبندي به حفظ محرمانگي دادهها در تبادلات بين واحدهاست. اما حفاظت از دادههاي محرمانه اساساً بر عدم افشاي اطلاعات محرمانه تاكيد دارد.
افشاي اطلاعات محرمانه، به دو دليل اساسي اما ساده رخ میدهد[30]:
1) نقص در قواعد كنترل دسترسي: به عنوان نمونه در برنامه كاربردي آموزش الكترونيكي، شناسه دانشجوياني كه براي كلاس ثبت نام نمودهاند نبايد در معرض عام قرار گيرد و تنها مدير سيستم بايد مجاز به دسترسي به آنها باشد. اين مورد ممكن است منجر به دسترسيهاي ناصحيح توسط كاربران غيرمجاز شود. نقص در قواعد كنترل دسترسي را ميتوان با بازنگري دقيق و رسيدگيهاي امنيتي برطرف نمود. به بياني ديگر، بايد قواعد كنترل دسترسي به نحوي تعريف شوند كه محدوده اختيارات
هر قاعده مشخص و محدود باشد. در غیر این صورت كاربران مجازي كه به آنها دسترسيهاي محدودي داده شده است، به واسطه تخصيص ناصحيح اختيارات به قواعد، ميتوانند اختيارات بيشتر از حد انتظاري را در سيستم داشته باشند. به عنوان نمونه در مورد انتساب ناصحيح اختيار به قاعده ميتوان به انتساب «امکان ویرایش نمرات دانشجو» به اختیار «مشاهده نمرات» اشاره کرد. در این حالت کسی كه داراي اختيار مشاهده نمرات باشد، ميتواند آنها را نيز ويرايش كند كه طبيعتاً اين مطلوب نخواهد بود.
2) آسیبپذیریهای به كار گرفته شده توسط مهاجمان: آسیبپذیریها به طور كل يا در كد برنامه كاربردي قرار دارند يا ناشي از ضعف در روشهاي مديريتي هستند. به عنوان نمونه، خرابي در بررسي دادههاي ورودي كاربران قبل از اعمال در سيستم، ميتواند باعث شود كاربران بتوانند با استفاده از تزریق SQL، تغییر ناخواسته در اطلاعات مهم پایگاه داده ایجاد کنند. یا اشتباه در عدم تغییر کلمه عبور پیش فرض برای کاربر مدیر، تمامی دسترسیها روی دادهها را برای مهاجمان باز میگذارد. با استفاده از روشهاي صحيح مديريتي، بررسيهاي امنيتي و ابزار تشخيص تهاجم، ميتوان از اين مشكلات جلوگيري كرد[30].
2-3-3-5 نیاز امنیتی جامعیت
جامعيت يا يكپارچگي به طور ساده همان عدم تحريف دادههاست. اين نياز در پاسخ به هدف جامعيت ديده شدهاست. در [27] اين نياز به اين صورت بيان شده است: «هر سیستم اطلاعاتی لازم است از دادهها و منابع در مقابل افشای غیرمجاز (محرمانگی) و تغییر غیرمجاز یا ناصحیح (جامعیت) اطلاعات پیشگیری نماید، درحالیکه به طور همزمان، باید دسترسپذیری برای کاربران مجاز را تضمین کند (اصل عدم انکار سرویسدهی)». در سيستمهايي مانند سيستمهاي مبتني بر معماري سرويسگرا كه تبادل اطلاعات از طريق پيام است، هنگامي كه يك برنامه كاربردي پيام يا اطلاعاتي را دريافت ميكند، لازم است اطمينان حاصل شود كه اين پيام دقيقاً هماني است كه فرستنده ارسال نموده و در فرآيند تبادل، توسط يك واسطه غيرمجاز دچار تغيير نشده است [30]. سياست جامعيت راههاي معتبري كه اطلاعات ممكن است تغيير كند و ماهيتهايي كه براي تغيير مجاز شوند را تعيين ميكند. جامعيت را از دو ديدگاه بررسي ميكنند: جامعيت دادهها و جامعیت مبدأ. جامعيت دادهها تضمين ميكند كه دادهها در معرض خطر قرار نگرفتهاند و بنابراين در يك بازه زماني مشخص ميتوان به آن اعتماد نمود، در حالی که جامعیت مبدأ تضمين ميكند كه اطلاعات در مورد گيرنده پيام صحيح هستند. هردو گونه توسط مباني رمزگذاری پيادهسازي شدهاند. در اينجا كاربرد رمزگذاري همان امضاي الكترونيكي است[27].
به طور كلي، مانند رازداري پيام، جامعيت نيز از طريق بهكارگيري اصول رمزگذاري در سطح پيام تحقق مييابد.
2-3-2 امنیت و معماری سرویسگرا
برنامههای کاربردی سرویسگرا نیاز دارند تا به منظور اداره بسیاری از نیازمندیهای امنیتی سنتی برای حفاظت از اطلاعات و اطمینان از آنکه دسترسی به منطق تنها برای آنهایی که مجاز هستند تضمین شدهاست. اما اصول امنیت از نگاه آی.بی.ام[11] عبارتند از : هویت سنجی، اعتبارسنجی، اختیارسنجی، رازداری، جامعیت، بازرسی و تطبیق، مدیریت سیاستها و دسترسپذیری. ضمن آنکه این اصول در هر معماری، از جمله معماری سرویسگرا وجود دارند، از نظر آی.بی.ام برخی جنبهها و ملاحظات دیگر بین معماری سرویسگرا و امنیت هستند که باید مورد توجه قرار گیرند. به دلیل ماهیت سست اتصال عناصر معماری سرویسگرا و عملکرد آنها فراتر از مرزهای سازمانی، امنیت در این معماری دارای مشکلات بیشتری میباشد؛ لذا باید ملاحظات زیر را در نظر گرفت[32]:
- امنیت یک نیازمندی کسبوکار است نه یک تکنولوژی. یعنی نیازهای امنیتی نیز مانند نیازهای وظبفهمندی یک کسبوکار باید در مراحل مختلف خودکارسازی منطق راهحل دیده شده و در مواقع لازم، اعمال شود.
- محیط معماری سرویسگرا چالشهای امنیتی خود را به همراه دارد، و عبارتند از:
- نیاز به انتشار شناسههای کاربران و سیستمها در طول محیط (مثلاً به منظور اعتبارسنجی یا اختیارسنجی). هر موجودیت در معماری سرویسگرا یک شناسه برای اعلام هویت خود دارد؛ لذا باید این شناسه را از مفهوم سرویس تفکیک نمود.
- نیاز به مدیریت هویت و امنیت در بین طیف وسیعی از سیستمها و سرویسها که با ترکیبات مختلفی از تکنولوژیها و سیستمهای قدیم و جدید ساخته شدهاند.
- حفاظت از دادهها در انتقالها تا رسیدن به مقصد.
- نیاز به اجابت اثبات پذیری[12] معماری در مقابل رشد مجموعههای شرکتها، صنایع و استانداردهای تنظیم شده.
- امنیت باید به طور کامل چرخهحیات توسعه معماری سرویسگرا را ازجمله مراحل مدلسازی، یکپارچهسازی[13]، استقرار[14] و مدیریت برنامههای کاربردی را احاطه کند (شکل2-7)[32].
همانطور که در شکل مشاهده میکنید، معماری سرویسگرا در بخشهای چرخه حیات خود نیازمند تدابیر و تدارکات امنیتی است.
در مرحله مدلسازی سیاستهای امنیت کسبوکار باید تعریف شوند و نیازمندیهای امنیتی و ایمنی برنامههای کاربردی مدلسازی شود. موجودیتهای درگیر در این مرحله، متصدی سیاستهای امنیت[15]، بازرس امنیتی[16] و تحلیلگر کسبوکار[17] هستند.
شکل 2-7 چرخه حیات معماری سرویسگرا از نگاه امنیتی آیبیام [32]
در مرحله یکپارچه سازی، سیاستهای امنیتی برنامه کاربردی اعلان میشوند. همچنین نسخه آزمایشی برنامه ایمن تست میشود. موجودیتهای این مرحله معماران امنیت، معماران برنامه کاربردی و برنامهنویسهای کاربرد هستند.
مرحله استقرار شامل شکلدهی زیرساختها برای امنیت نرمافزار است که با یکپارچهسازی افراد، فرآیندها و اطلاعات همراه میباشد. مهمترین موجودیتهای این مرحله مدیر برنامه کاربردی، مدیر امنیتی و توسعهدهندگان امنیتی هستند.
مرحله مدیریت به مدیریت برنامههای کاربردی، مدیریت بر شناسهها و نظارت به منظور تطبیق تاکید دارد. در این مرحله موجودیتهایی همچون مدیر فناوری اطلاعات، مدیر امنیتی و اپراتورها ایفای نقش میکنند.
اما برای تحقق اهداف و نیازمندیهای امنیتی در معماری سرویسگرا، شرکت آیبیام یک معماری منطقی نیز ارائه داده است (شکل2-8). در این معماری سطوح منطقی مختلفی دیده میشود که عبارتند از[32]:
- سرویسهای امنیتی کسبوکار: این سرویسها جنبههای کلان و تجاری امنیت در سازمان را برای دستیابی به عملکرد موفق و ایمن در سازمان بیان میکنند. این جنبهها بر اساس معیارهای مشخص در صنعت مانند قوانین، ضوابط رقابتی بین سازمانها و غیره میباشند. به بیان سادهتر این سرویسها به پرسش «به چه چیزی باید دست یافت؟» پاسخ میدهند.
- سرویسهای امنیتی فناوری اطلاعات: بلوکهای سازنده به صورت مجموعهای از سرویسها برای فراهم نمودن وظایف امنیتی است. بنابراین سرویسهای امنیتی چگونگی دستیابی به تعاریف بیان شده در سرویسهای امنیتی کسبوکار را تحقق میبخشند.
شکل 2-8 مدل مرجع امنیت معماری سرویسگرا از آیبیام [32]
- مدیریت سیاستهای امنیتی: به عنوان بخشی از مدیریت سراسری سیاست، سیاستهای امنیتی باید از سرویسهای امنیتی کسبوکار استخراج شوند و به صورتی سازگار از طریق زیرساختهایی اعمال شوند. مدیریت سیاستهای امنیتی نه تنها مدیریت چرخهحیات سیاست امنیتی را فراهم میکنند، بلکه سیاستهای توزیع و تبدیل[18] را نیز بیان میکنند. در واقع مدیریت سیاستهای امنیتی، پلی میان سرویسهای فناوری اطلاعات و سرویسهای امنیتی کسبوکار فراهم میکنند.
- توانمندسازهای امنیتی: که عبارتند از فناوریهایی مانند رمزنگاری، کتاب راهنما و مخزن کلیدها که توسط سرویسهای امنیتی فناوری اطلاعات مورد استفاده قرار میگیرند تا وظایف خود را انجام دهند.
- مدیریت سیاستهای امنیتی: بخشی از مدیریت سیاستهای کلی است و مستلزم بیان مدیریت کردن، اجرا کردن و نظارت بر سیاستهای امنیتی است. همچنین شامل توانایی تعریف سیاستها برای شناسایی و اجازه دسترسی متقاضیان برای دسترسی به خدمات، رواج دادن مفاهیم امنیتی منطبق با مدل اعتماد پایه در سراسر سرویس خواسته شده و حفاظت از اطلاعات میباشد. بنابراین عاملیت مدیریت سیاستهای امنیتی هسته اصلی فراهمکننده قابلیت امنیت در معماری سرویسگراست.
- مدیریت ریسک و نظارت: ارائهدهنده مکانیزمهایی برای پیادهسازی و اعمال سیاستهای امنیتی در محیط مبتنی بر معماری سرویسگرای بزرگتر میباشد. نظارت به مشتریان کمک میکند تا بتوانند به مدیریت معماری سرویسگرا در سراسر سازمان خود بپردازند. مدیریت خطر با فرآیند ارزیابی و ارزیابی خطر در محیط معماری سرویسگرا و استراتژیهای در حال توسعه برای مدیریت این خطرها سروکار دارد.
همچنین دیدگاههای دیگری نیز در رابطه با امنیت معماری سرویسگرا موجود است. ارل در [15] نگاهی سادهتر و عملیاتیتر به امنیت در معماری سرویسگرا دارد. شاید در این دیدگاه امنیت تنها از نگاه پیادهسازی و اعمال سیاستها دیده شدهاست. او ادعا میکند که : «به طور مشخص، امنیت سطح پیام به عنوان مؤلفه اصلی راهحلهای سرویسگرا میباشد. اقدامات امنیتی میتوانند به صورت لایهای روی هر انتقال پیام قرار گیرد تا از محتوای پیام یا گیرنده پیام محافظت کند[15].»
بنابراین چارچوب WS-Security و توصیفات ملحق به آن، نیازمندیهای بنیادی کیفیت سرویس را انجام میدهند تا سازمانها را قادر سازند که از راهحلهای سرویسگرا برای پردازش دادههای حساس و محرمانه خود استفاده کنند و همچنین دسترسی به سرویس را در هر جا و هر اندازه که لازم شد محدود کنند. همانطور که در شکل 2-9 نشان داده شده است چارچوب امنیتی WS-Security از چارچوب WS-Policy نیز استفاده میکند.
شکل 2-9 جایگاه امنیت در معماری سرویسگرا [15]
در مدلی که در[33] ارائه شده است، با در نظر گرفتن سه لایه اساسی برای معماری سرویسگرا مبتنی بر وبسرویس، جنبههای امنیتی در سطح این لایهها توزیع و اعمال شدهاست. همانطور که در شکل 2-10 مشاهده میکنید، جنبههای اعتبارسنجی و اختیارسنجی را میتوان در لایههای امنیت فرآیند کسبوکار و امنیت وبسرویس اعمال نمود.
شکل 2-10 لایههای معماری سرویسگرا و جنبههای امنیتی[33]
[1] Danger
[2] Risk
[3] Bishop
[4] Confidentiality, Integrity and Availability (CIA)
[5] Menezes
[6] Identification
[7] Hafner
[8] Non-Repudiation
[9] Privacy
[10] Actor
[11] IBM
[12] Demonstrable Compliance
[13] Assemble
[14] Deployment
[15] Security officer
[16] Security auditor
[17] Business analysis
[18] Distribution and transformation policies