رمزنگاري اطلاعات
گسترش و رشد بي سابقه اينترنت باعث ايجاد تغييرات گسترده در نحوه زندگي و فعاليت شغلي افراد ، سازمانها و موسسات شده است . امنيت اطلاعات يکي از مسائل مشترک شخصيت هاي حقوقي و حقيقي است . کاربران اينترنت در زمان استفاده از شبکه، اطلاعات حساس و مهمي را بدفعات ارسال و يا دريافت مي دارند. اطمينان از عدم دستيابي افراد غير مجاز به اطلاعات حساس از مهمترين چالش هاي امنيتي در رابطه با توزيع اطلاعات در اينترنت است . اطلاعات حساس که ما تمايلي به مشاهده آنان توسط ديگران نداريم ، موارد متعددي را شامل مي شود. برخي از اينگونه اطلاعات بشرح زير مي باشند : اطلاعات کارت اعتباري
شماره هاي عضويت در انحمن ها اطلاعات خصوصي جزئيات اطلاعات شخصي اطلاعات حساس در يک سازمان اطلاعات مربوط به حساب هاي بانکي تاکنون براي امنيت اطلاعات بر روي کامپيوتر و يا اينترنت از روش هاي متعددي استفاده شده است . ساده ترين روش حفاظت از اطلاعات نگهداري اطلاعات حساس بر روي محيط هاي ذخيره سازي قابل انتقال نظير فلاپي ديسک ها است . متداولترين روش حفاظت اطلاعات ، رمز نمودن آنها است . دستيابي به اطلاعات رمز شده براي افراد غير مجاز امکان پذير نبوده و صرفا افراديکه داراي کليد رمز مي باشند ، قادر به باز نمودن رمز و استفاده از اطلاعات مي باشند. رمز نمودن اطلاعات کامپيوتر مبتني بر علوم رمز نگاري است .استفاده از علم رمز نگاري داراي يک سابقه طولاني و تاريخي است . قبل از عصر اطلاعات ، بيشترين کاربران رمزنگاري اطلاعات ، دولت ها و مخصوصا در موارد نظامي بوده است . سابقه رمز نمودن اطلاعات به دوران امپراطوري روم بر مي گردد. امروزه اغلب روش ها و مدل هاي رمزنگاري اطلاعات در رابطه با کامپيوتر بخدمت گرفته مي شود. کشف و تشخيص اطلاعاتي که بصورت معمولي در کامپيوتر ذخيره و فاقد هر گونه روش علمي رمزنگاري باشند ، براحتي و بدون نياز به تخصصي خاص انجام خواهد يافت . اکثر سيستم هاي رمزنگاري اطلاعات در کامپيوتر به دو گروه عمده زير تقسيم مي گردند : رمزنگاري کليد - متقارن رمزنگاري کليد - عمومي رمز نگاري کليد - متقارن در روش فوق ، هر کامپيوتر داراي يک کليد رمز ( کد ) بوده که از آن براي رمزنگاري يک بسته اطلاعاتي قبل از ارسال اطلاعات بر روي شبکه و يا کامپيوتر ديگر ، استفاده مي نمايد. دراين روش لازم است در ابتدا مشخص گردد که کداميک از کامپيوترها قصد مبادله اطلاعاتي با يکديگر را دارند ، پس از مشخص شدن هر يک از کامپيوترها، در ادامه کليد رمز بر روي هر يک از سيستم ها مي بايست نصب گردد. اطلاعات ارسالي توسط کامپيوترهاي فرستنده با استفاده از کليد رمز ، رمز نگاري شده وسپس اطلاعات رمز شده ارسال خواهند شد. پس از دريافت اطلاعات رمز شده توسط کامپيوترهاي گيرنده ، با استفاده از کليد رمز اقدام به بازگشائي رمز و برگرداندن اطلاعات بصورت اوليه و قابل استفاده خواهد شد . مثلا فرض کنيد پيامي را براي يکي از دوستان خود رمز و سپس ارسال مي نمائيد . شما براي رمز نگاري اطلاعات از روشي استفاده نموده ايد که بر اساس آن هر يک از حروف موجود در متن پيام را به دو حرف بعد از خود تبديل کرده ايد. مثلا حروف A موجود در متن پيام به حروف C و حروف B به حروف D تبديل مي گردند. پس از ارسال پيام رمز شده براي دوست خود ، مي بايست با استفاده از يک روش ايمن و مطمئن کليد رمز را نيز براي وي مشخص کرد. در صورتيکه گيرنده پيام داراي کليد رمز مناسب نباشد ، قادر به رمز گشائي و استفاده از اطلاعات نخواهد بود. در چنين حالتي مي بايست به دوست خود متذکر گرديد که کليد رمز ، شيفت دادن هر حرف بسمت جلو و به اندازه دو واحد است . گيرنده پيام با انجام عمليات معکوس قادر به شکستن رمز و استفاده از اطلاعات خواهد بود. رمزنگاري کليد - عمومي
در روش فوق از ترکيب يک کليد خصوصي و يک کليد عمومي استفاده مي شود. کليد خصوصي صرفا متعلق به کامپيوتر فرستنده بوده و کليد عمومي توسط کامپيوتر فرستنده در اختيار هر يک از کامپيوترهائي که قصد برقراري ارتباط با يکديگر را دارند ، گذاشته مي شود. براي رمزگشائي يک پيام رمز شده ، کامپيوتر مي بايست از کليد عمومي که توسط فرستنده ارائه شده، بهمراه کليد خصوص ي خود استفاده نمايد. يکي از متداولترين برنامه هاي رمزنگاري در اين رابطه PGP )Pretty Good Privacy) است . با استفاده از PGP مي توان هر چيز دلخواه را رمز نمود. بمنظور پياده سازي رمزنگاري کليد - عمومي در مقياس بالا نظير يک سرويس دهنده وب ، لازم است از رويکردهاي ديگري در اين خصوص استفاده گردد. امضاي ديجيتال يکي از رويکردهاي موجود در اين زمينه است يک امضاي ديجيتالي صرفا شامل اطلاعات محدودي بوده که اعلام مي نمايد ، سرويس دهنده وب با استفاده و بکارگيري يک سرويس مستقل با نام امضاي مجاز ، امين اطلاعات است . امضاي مجاز بعنوان يک ميانجي بين دو کامپيوتر ايفاي وظيف مي نمايد. هويت و مجاز بودن هر يک از کامپيوترها براي برقراري ارتباط توسط سرويس دهنده انجام و براي هر يک کليد عمومي مربوطه را فراهم خواهد کرد. يکي از متداولترين نمونه هاي پياده سازي شده از رمزنگاري کليد- عمومي ، روش SSL )Secure Sokets Layer) است . روش فوق در ابتدا توسط نت اسکيپ پياده سازي گرديد. SSL يک پروتکل امنيتي اينترنت بوده که توسط مرورگرها و سرويس دهندگان وب بمنظور ارسال اطلاعات حساس ، استفاده مي گردد. SSL اخيرا بعنوان بخشي از پروتکل TLS )Transport Layer Security) در نظر گرفته شده است .در مرورگر مي توان زمان استفاده از يک پروتکل ايمن نظيز TLS را با استفاده از روش هاي متعدد اعلام کرد. استفاده از پروتکل https درعوض پروتکل http يکي از روش هاي موجود است . در چنين مواردي در بخش وضعيت پنجره مرورگر يک Padlock نشان داده خواهد شد. رمزنگاري کليد - عمومي ، مدت زمان زيادي را صرف انجام محاسبات مي نمايد. بنابراين در اکثر سيستمها از ترکيب کليد عمومي و متقارن استفاده مي گردد. زمانيکه دو کامپيوتر يک ارتباط ايمن را بايکديگر برقرار مي نمايند ، يکي از کامپيوترها يک کليد متقارن را ايجاد و آن را براي کامپيوتر ديگر با استفاده از رمزنگاري کليد - عمومي ، ارسال خواهد کرد. در ادامه دو کامپيوتر قادر به برقرار ارتباط بکمک رمزنگاري کليد متقارن مي باشند. پس از اتمام ارتباط ، هر يک از کامپيوترها کليد متقارن استفاده شده را دور انداخته و در صورت نياز به برقراري يک ارتباط مجدد ، مي بايست مجددا فرآيند فوق تکرار گردد ( ايجاد يک کليد متقارن ، ....) مقدار Hash
رمزنگاري مبتني بر کليد عمومي بر پايه يک مقدار hash ، استوار است . مقدار فوق ، بر اساس يک مقدار ورودي که دراختيار الگوريتم hashing گذاشته مي گردد ، ايجاد مي گردد. در حقيقت مقدار hash ، فرم خلاصه شده اي از مقدار اوليه اي خود است . بدون آگاهي از الگوريتم استفاده شده تشخيص عدد ورودي اوليه بعيد بنظر مي رسد . مثال زير نمونه اي در اين زمينه را نشان مي دهد : عدد ورودي | الگوريتم | Hash مقدار |
10,667 | Input # x 143 | 1,525,381 |
پيمايش شبکيه چشم پيمايش صورت مشخصه صدا يکي ديگر از مسائل مرتبط با انتقال اطلاعات ، صحت ارسال اطلاعات از زمان ارسال و يا رمزنگاري است . مي بايست اين اطمينان بوجود آيد که اطلاعات دريافت شده ، همان اطلاعات ارسالي اوليه بوده و در زمان انتقال با مشکل و خرابي مواجه نشده اند. در اين راستا از روش هاي متعددي استفاده مي گردد : Checksum . يکي از قديمي ترين روش هاي استفاده شده براي اطمينان از صحت ارسال اطلاعات است . Checksum ، به دو صورت متفاوت محاسبه مي گردد . فرض کنيد Checksum يک بسته اطلاعاتي داراي طولي به اندازه يک بايت باشد ، يک بايت شامل هشت بيت و هر بيت يکي از دو حالت ممکن ( صفر و يا يک ) را مي تواند داشته باشد. در چنين حالتي 256 وضعيت متفاوت مي تواند وجود داشته باشد. با توجه به اينکه در اولين وضعيت ، تمام هشت بيت مقدار صفر را دارا خواهند بود ، مي تواند حداکثر 255 حالت متفاوت را ارائه نمود.در صورتيکه مجموع ساير بايت هاي موجود در بسته اطلاعاتي ، 255 و يا کمتر باشد ، مقدار Checksum شامل اطلاعات واقعي و مورد نظر خواهد بود.در صورتيکه مجموع ساير بايت هاي موجود در بسته اطلاعاتي ، بيش از 255 باشد ، Checksum معادل باقيمانده مجموع اعداد بوده مشروط بر اينکه آن را بر 256 تقسيم نمائيم . مثال زير ، عملکرد CheckSum را نشان مي دهد.
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8 | Total | Checksum |
212 | 232 | 54 | 135 | 244 | 15 | 179 | 80 | 1,151 | 127 |
1,151 / 256 = 4.496 (round to 4) 4 x 256 = 1,024 1,151 - 1,024 = 127 |