مقدمه
در این مقاله قصد داریم تا مفاهیم مربوط به امنیت اطلاعات را تشریح کنیم. ابتدا خود امنیت اطلاعات را تعریف کرده و تاریخچه آن به همراه شرح کلی از اهداف آن را توضیح خواهیم داد. در ادامه، چرایی و اهداف و مدلهای استفاده شده، شرح داده خواهند شد. در قسمت بعدی، مدلها و مفاهیم با جزئیات بیشتری توضیح داده میشود و در آخر چالشها، روشها و رویکردهای موجود مورد بررسی قرار میگیرند.
تاریخچه
از زمان شروع نوشتن و تبادل اطلاعات، همه انسانها به ویژه سران حکومتها و فرماندهان نظامی در پی راهکاری برای محافظت از محرمانه بودن مکاتبات و تشخیص دستکاری آنها بودند. ژولیوس سزار ۵۰ سال قبل از میلاد یک سیستم رمزنگاری مکاتبات ابداع کرد تا از خوانده شدن پیامهای سری خود توسط دشمن جلوگیری کند حتی اگر پیام به دست دشمن بیفتد. جنگ جهانی دوم باعث پیشرفت چشمگیری در زمینه امنیت اطلاعات گردید و این آغاز کارهای حرفهای در حوزه امنیتاطلاعات شد. پایان قرن بیستم و سالهای اولیه قرن بیست و یکم شاهد پیشرفتهای سریع در ارتباطات راه دور، سختافزار، نرمافزار و رمزگذاری دادهها بود. در دسترس بودن تجهیزات محاسباتی کوچکتر، قوی تر و ارزانتر پردازش الکترونیکی دادهها باعث شد که شرکتهای کوچک و کاربران خانگی دسترسی بیشتری به آنها داشته باشند. این تجهیزات به سرعت از طریق شبکههای کامپیوتر مثل اینترنت به هم متصل شدند.
با رشد سریع و استفاده گسترده از پردازش الکترونیکی دادهها و کسب و کار الکترونیک از طریق اینترنت، همراه با ظهور بسیاری از خرابکاریهای بینالمللی، نیاز به روشهای بهتر حفاظت از رایانهها و اطلاعات آنها ملموس گردید. رشتههای دانشگاهی از قبیل امنیت کامپیوتری، امنیت اطلاعات و اطلاعات مطمئن همراه با سازمانهای متعدد حرفهای پدید آمدند. هدف مشترک این فعالیتها و سازمانها حصول اطمینان از امنیت و قابلیت اطمینان از سیستمهای اطلاعاتی است.
تعریف امنیت اطلاعات
امنیت رایانه یک اسم عمومی برای مجموعه ابزارهایی میباشد که برای حفاظت داده ها استفاده میشوند. یا برای خنثی کردن حمله هایی که وجود دارند. اما امنیت شبکه به مجموعه اقداماتی که برای محافظت از داده ها در زمانی که در حال انتقال هستند، اشاره دارد.
امنیت رایانه یا امنیت فناوری اطلاعات، محافظت از سیستمهای رایانهای از سرقت یا آسیب رسیدن به سخت افزار، نرم افزار یا دادههای الکترونیکی موجود در آنها میباشد.
به بیان سادهتر، امنیت اطلاعات یعنی حفاظت از اطلاعات و سیستمهای اطلاعاتی از فعالیتهای غیر مجاز میباشد. این فعالیتها می تواند شامل دسترسی، استفاده، افشاء، خواندن، نسخه برداری یا ضبط، خراب کردن، تغییر و دستکاری شود. این محافظت به منظور دستیابی به اهداف مناسب برای حفظ یکپارچگی، دردسترسبودن و محرمانهبودن منابع سیستمهای اطلاعاتی است. در ادامه هر یک از این سه مفهوم شرح داده خواهند شد.
اینترنت یک شبکه واحد نیست، بلکه مجموعهای جهانی از شبکه های به هم متصل است، که به راحتی و توسط میزبان رایانههای شخصی قابل دسترسی است. به همراه راحتی و دسترسی آسان به اطلاعات، خطراتی هم به دنبال آن میآید. برای مثال ممکن است اطلاعات با ارزش دزدیده شود، تغییر یابد، گم شود و یا مورد سوء استفاده قرارگیرد. اگر اطلاعات بصورت الکترونیکی ضبط شده و در رایانههای شبکهای موجود باشد، آسیب پذیرتر از آن است که اگر همان اطلاعات روی کاغذ چاپ شود.
مفاهیم امنیت اطلاعات
CIAمدل سهگانه است که برای هدایت سیاستها برای امنیت اطلاعات در سازمانها طراحی شده است.
امنیت اطلاعات، سه مفهوم اساسی را معرفی میکند:
● محرمانگی (Confidentiality)
● یکپارچگی (Integrity)
● دردسترسبود (Availability)
محرمانگی:
مفهوم محرمانگی میتواند به این صورت مطرح شود که به عنوان مثال اگر من در حال فرستادن پیام به یک شخص خاص هستم و یا در حال ایمیل زدن به آن شخص هستم، فقط آن شخص خاص قادر به دیدن ایمیل یا پیام فرستاده شده باشد و شخص واسطی قادر به دیدن پیام و اطلاعات مبادله شده بین دو نفر خاص نباشد. در واقع همان کسی که دسترسی داره و گیرنده است، فقط آن شخص بتواند اطلاعات را دریافت کند.
محرمانگی را میتوان به دو دسته تقسیم کرد:
● محرمانگی داده
برای سازمانها می تواند شامل اطلاعات محرمانه باشد اما در واقع نشان دهنده محرمانگی دادهها میباشد. برای ایجاد داده های محرمانه، سازمان باید سخت کار کند تا مطمئن شود که داده ها میتوانند تنها توسط افراد مجاز دسترسی یابند.
● پوشیدگی و حریم خصوصی
افراد کنترل میکنند که چه اطلاعاتی مربوط به آنها ممکن است جمعآوری یا ذخیره شود و به وسیله چه کسی و به چه کسی این اطلاعات قرار است افشا شود.
یکپارچگی:
مفهوم یکپارچگی داده یعنی مثلا اگر دو نفر در حال چت کردن با یکدیگر هستند، پیامهایی که در حال مبادله بین دو نفر هست دقیقا توسط گیرنده دریافت شود و وسط کار دستخوش تغییر نباشد. به بیان دیگر اطلاعات درست و صحیح برسند.
یکپارچگی به دو دسته تقسیم می شود:
● یکپارچگی داده
اطمینان می دهد که اطلاعات و برنامهها فقط به صورت مشخص و مجاز و تنها توسط افراد مجاز تغییر می یابند. بدین معناست که دادهها دستکاری نشده اند.
● یکپارچگی سیستم
اعتبار بخش پیش از تغییر دادهها در هر روشی که به صورت یکپارچه نگهداری کند لازم و ضروری می باشد. به عنوان مثال، اگر شخصی بخواهد فایل های مورد نیاز را حذف کند، حتی از روی عمد یا سهو، یکپارچگی آن فایل به خطر می افتد.
در دسترس بودن:
در دسترس بودن بدین معناست که داده ها به منظور ذخیره سازی، پذیرش یا محافظت در دسترس باشند. این همچنین به این معناست که داده ها در برابر حملات ویروس ها نیز در دسترس هستند. به عبارت دیگر در دسترس بودن اطلاعات به این معنی است که اشخاص مجاز در صورت لزوم قادر به دسترسی به اطلاعات باشند.
بررسی و توضیحات بیشتر
در بحث محرمانگی که شمای کلی آن در تصویر قابل مشاهده است، به عنوان مثال اگر در موقعی که علی در حال ارسال پیام به محمد میباشد، اطلاعات مبادله شده توسط هادی قابل دسترسی باشد دیگر شرط محرمانگی در این حالت رعایت نشده است چرا که هادی توانسته به این لینک دسترسی داشته باشد.
در حقیقت در تصویر شماره 2 شرط محرمانگی داده برقرار نشده است. برای این مشکل راهحلها و روشهایی موجود است که یکی از آنها بحث رمزنگاری میباشد. در ادامه در مورد رمزنگاری و چگونگی استفاده از آن در بخش روشها و رویکردها بحث خواهد شد.
روشها و رویکردها
در اولین مدل که مربوط به محرمانگی است، یکی از راه حل ها جهت جلوگیری از دسترسیهای غیر مجاز، به این صورت میتواند طرح شود: دادهای که توسط علی به محمد ارسال میشود قبل از ارسال کد کرده و در طرف مقابل فقط محمد بتواند آن پیام را باز کند. در واقع از رمزنگاری استفاده شده است.
در تصویر زیر شمای کلی از نحوه رمزنگاری و کد کردن داده مشاهده میشود.
درواقع علی یه کلید برای کد کردن به اسم کلید الف دارد که از آن برای کد کردن پیام قبل از اسال به محمد استفاده می کند. پیام قبل از ارسال، ابتدا وارد تابعی میشود که در آن جا پیام کد میشود. چون پیام روی لینک ارتباطی ناامنی مبادله می شود پس باز هادی میتواند پیام مبادله شده را ببیند اما چون پیام کد شده است پس اطلاعات قابل خواندن نیستند.
در طرف گیرنده یعنی محمد، چون که کلیدی به اسم کلید ب را دارد پس میتواند اطلاعات دریافت شده را باز کرده و به آن دسترسی داشته باشد.
نکته و چالش مهم: در این روش گفته شده تنها لینک امن شده و اگر هادی بتواند به سیستم محمد دسترسی پیدا کند، بعد از دیکود کردن داده، میتواند به اطلاعات دسترسی داشته باشد. در واقع بخشی از سیستم را امن کرده ایم.
برخی ويژگیهای تابعی که عملیات کد کردن و دیکد کردن را به ترتیب بر روی داده ارسالی و دریافتی انجام میدهد:
● برای هر دوطرف گیرنده و فرستنده، قابل فهم و ساده باشد. برای هادی که قصد دسترسی به اطلاعات مبادله شده را دارد، محاسبه و دیکد کردن داده اصلی سخت باشد.
● دیتای کد شده بهگونه ای باشد که در طرف گیرنده به راحتی بتواند آن را دیکد کند.
الگوریتمها و روشهای استفاده شده جهت رمزنگاری اطلاعات به دو دسته زیر تقسیم میشوند:
● الگوریتمهای متقارن (Symmetrical algorithms)
○ برای رمزگذاری و رمزگشایی هر دو تابع از کلیدهای مشابه به عنوان ورودی استفاده میکنند.
○ کلید Aبا کلید Bبرابر است.
○ مثال ها:
■ Block cipher
■ Stream cipher
● الگوریتمهای نامتقارن (Asymmetric algorithms)
○ برای رمزگذاری و رمزگشایی هر دو تابع از کلیدهای متفاوتی به عنوان ورودی استفاده میکنند.
○ کلید Aبا کلید Bبرابر نیست.
○ مثال ها:
■ RSA
■ ECC
چالشها
الگوریتمهایی که عملیات رمزنگاری انجام میدهند، چالشهای زیر را در جهت طراحی و پیادهسازی دارند:
● چقدر طول میکشد تا ورودی را به یک ورودی کد شده تبدیل کند. یا برعکس این کار در چه مدت زمانی ممکن میشود.(Performance) هر چقدر این مدت زمان کمتر باشد اجرای الگوریتم بهتر و بهینه تر میشود.
● سایز ورودی مهم است که در چه اندازه باشد. (Size)
● هزینه لازم جهت برق، شارژ و باتری سیستم مورد نیاز (Power)
سایر چالشهایی که پیرامون امنیت اطلاعات میتواند مورد بررسی قرار گیرد عبارت اند از:
● کلیدها و توابعی که جهت رمزنگاری استفاده میشوند، توسط چه کسی نگهداری شدهاند و آیا خود فرستنده و گیرنده از ابتدا آن اطلاع دارند یا توسط کس دیگری تولید میشود.
● امنیت چقدر باشه و در عین اینکه امنیت داریم، سرعت باید به اندازه کافی راضی کننده باشد.
● هزینه طراحی الگوریتم جهت تامین امنیت اطلاعات مبادله شده چقدر باشد و شامل چه عملگرهای پیچیدهی ریاضی است.
● کانال های جانبی را ببندیم. چون ممکن است از طریق کیبورد و یا میکروفون اطلاعات را شنود و ضبط کنند. و این عمل قبل از کد کردن داده ارسالی رخ میدهد.
● مکانیرمهای امنیتی از یک قوانین و الگوریتم مشخصی استفاده نمیکنند. آنها همچنین نیاز دارند كه شركتكنندگان اطلاعاتی پنهانی در اختیار داشته باشند. برای مثال کلیدهای رمزنگاری که در فرایند عملیات رمزنگاری استفاده میشوند باید چالشهای نگهداری، توزیع و محافظت از آنها مورد توجه قرار گیرد.
● بسیاری از کاربران و حتی مدیران امنیتی، امنیت شدید را به عنوان مانعی برای کارآمد و کاربر پسند بودن یک سیستم اطلاعاتی یا استفاده از اطلاعات، مشاهده می کنند.
در ادامه بحثهای بیشتری درباره موضوع امنیت اطلاعات بررسی خواهد شد که جهت درک بیشتر این مهم، مفید و کافی خواهد بود.
بررسی امنیت اطلاعات براساس جنبههای مختلف
بصورت کلی امنیت اطلاعات را براساس نیازمندیهای موجود، میتوان براساس جنبههای زیر بررسی کرد:
● حملات امنیتی (Security Attack)
هر عملی که امنیت اطلاعاتی که متعلق به سازمان هست را به خطر میاندازد. امنیت اطلاعات در مورد این هست که چگونه از حملات امنیتی جلوگیری یا مقابله شود تا حملات روی سیستم مبتنی بر اطلاعات، شناسایی شود. انواع حملات امنیتی عبارتاند از:
❖ حملات غیرفعال (Passive Attacks)
برای مثال علی و محمد در حال مکالمه یا انتقال اطلاعات به همدیگر هستند، و شخص حمله کننده در حال خواندن اطلاعات بین آن دو شخص میباشد. اطلاعات بدون تغییر دست گیرنده میرسد. پس شخصی که حمله کننده هست، فقط دیتا رو شنود میکند که میتواند دیتا رو آنالیز کند، از خود دیتا استفاده کند و یا برای حملات بعدی استفاده کند. در تصویر 4 شمای کلی از این روش آورده شده است.
❖ حملات فعال (Active Attacks)
فردی که مهاجم است، ابتدا اطلاعاتی که در شبکه هست را برداشته، تغییر داده، حذف کرده یا با دیتای دیگری جایگزین میکند و این دیتای جدید را به فرد گیرنده ارسال میکند. یا حتی میتواند گیرنده را هم تغییر دهد. بطور کلی این حملات در جهت ایجاد وقفه، تغییر و ایجاد پیام ساختگی بهکار میرود.در تصویر5 شمای کلی از این روش آورده شده است.
در ادامه تصاویری از انواع عملیاتی که ممکن است در حملات غیرفعال رخ دهد، آورده شده است. دو شخص الف و ب در حال انتقال اطلاعات با یکدیگر هستند. شخص پ نیز در نقش مهاجم عمل میکند.
● سازوکارهای امنیتی (Security Mechanism)
مجموعهای از مکانیزمها که در یک سرویس انجام میشوند یا هر عملی که در جهت جلوگیری از به خطر افتادن امنیت اطلاعاتی که متعلق به یک سازمانی هست، انجام میشود. بطور کلی مکانیزمی که در جهت جلوگیری، بهبود و شناسایی حملات امنیتی، طراحی میشود. بطور مثال عنصر مشخصی که در اکثر مکانیزمهای امنیتی استفاده میشود، تکنیکهای رمزنگاری میباشد.
● سرویسهای امنیتی (Encryption techniques)
سرویس هایی که در جهت تامین امنیت سیستمهایی که پردازش داده یا انتقال اطلاعات درون سازمان انجام میدهند، طراحی میشوند. هدف استفاده از تعدادی مکانیزم در جهت مقابل با حملات امنیتی است. برخی از این سرویسها عبارتاند از:
❖ سرویس تایید هویت(Security Service)
این اطمینان را میدهد که ارتباط معتبر است. در وابستگی با یک ارتباط منطقی مورد استفاده قرار می گیرد تا اطمینان به هویت اشخاص متصل به هم را تضمین کند. در یک انتقال بدون اتصال نیز، تضمین میکند که منبع دادههای دریافتی همانطور که ادعا شده است، رعایت شده است.
❖ سرویس کنترل دسترسی (Access Control)، کنترل میکند که چه کسانی اجازه دسترسی به منابع را دارند و بر اساس چه شرایطی میتوانند دسترسی داشته باشند و یا به چه منابعی میتوانند دسترسی یابند.
سرویسهای دیگری نیز میتواند در بخش محرمانگی دادهها و یا یکپارچگی دادهها استفاده شود که با توجه به گسترده بودن مطالب از توضیحات آن صرف نظر میشود. و برای مطالعه بیشتر در این زمینه میتوان به کتاب مرجع Cryptography and Network Security Principles and Practice رجوع کرد.
جمع بندی
در این مقاله، بطور کلی مفاهیم امنیت اطلاعات بررسی و توضیح داده شد. امنیت اطلاعات بطور کلی فعالیتهایی را جهت رسیدن به اهداف یکپارچگی، محرمانگی و دردسترس بودن را معرفی و طراحی میکند. ابتدا تعاریف اولیه به همراه چرایی وجود این مفاهیم گفته شد، در ادامه روشها، رویکردها و چالشهای پیرامون این اهداف بطور مختصر توضیح داده شد. و در آخر نیز امنیت اطلاعات را از جنبههای مختلفی بررسی کردیم تا به حد کافی بتوانیم یک دید کلی نسبت به امنیت اطلاعات و راههای مقابله با آن داشته باشیم.
مراجع
● Cryptography and Network Security Principles and Practice
کتاب مرجع درس که مفاهیم امنیت اطلاعات، به علاوه الگوریتمها، روشها، چالشها و سایر مطالب گفته شده در این مقاله را پوشش میدهد.
● History Of Information Security
در این لینک که مربوط به سایت ویکیپدیا میباشد، از مطالب بخش مربوط به تاریخچه امنیت اطلاعات استفاده شده است.
این مطلب در راستای درس رمزنگاری و امنیت در دانشگاه تحصیلات تکمیلی علوم پایه زنجان نوشته شده است.