4. یا تهدید پذیري: Vulnerability يك ضعف يا اختلال در طراحي ، پياده سازي ، اجرا و يا مديريت يك سيستم اطلاق مي شود كه بتواند بطور بالقوه آن سيستم را با تهديد مواجه كند. مثل يك Bug نرم افزاري كه با استفاده از آن خطا ميتواند كاركرد يك سيستم را از كار بيندازد. يا انتخاب يك رمز ساده مثل 1234 براي يك سيستم يك تهديد پذيري محسوب ميشود.
5.
6.
7.
8. Masquerading يا جعل هويت: نوعي از حمله است كه حمله كننده با استفاده از هويت يك كاربر مجاز به منابع يك سيستم حفاظت شده دسترسي پيدا مي كند و يا به ارسال و دريافت اطلاعات مي پردازد.
9. Message tampering یا دستكاري در پيام : به تغيير پيامهايي كه براي يك كاربر ارسال مي شود در بين راه اطلاق مي گردد.
10. مديريت مخاطره فرآيند شناسايي مخاطرات، اولويت بندي آنها بر اساس هزينه مورد نياز براي بازيابي سيستم و همچنين شناسايي و پياده سازي راه كار هايي براي كاهش اين مخاطرات را مديريت مخاطرات مي گويند. سطوح مخاطره يا ريسك اگر خطري خيلي جدي باشد و احتمال وقوع آن نيز زياد باشد، هزينه بازيابي آن در صورت وقوع بسيار زياد خواهد بود.
11. Security policy يا سياست هاي امنيتي بر اساس نتايج بدست آمده از تحليل مخاطره و اولويت بندي انجام شده، سياست امنيتي، نقاط تهديد پذير يك سيستم و نوع ايمن شدن آنها را دقيقا مشخص مي كند. اصولا هيچ سياست امنيتي اي نميتواند كليه مخاطرات متوجه يك سيستم را در بر بگيرد و معمولا توازني بين مخاطرات و منابع موجود را برقرار مي كند.
12. Security services يا خدمات امنيتي كاركرد هايي هستند كه براي پياده سازي سياست هاي امنيتي استفاده مي شود. از مهمترين خدمات امنيتي مي توان به شناسايي هويت ،كنترل دسترسي ، محرمانه بودن داده ها ،يكپارچگي داده ها و عدم انكار اشاره كرد.
13.
14.
15. تفاوت :authentication and authorization وظیفه شناسايي هويت پاسخ به اين سوال است كه كاربر كيست و آيا واقعا همان كسي است كه ادعا مي كند؟ ولي كنترل دسترسي مجموعه مجوز هايي است كه به يك كاربر تشخيص هويت داده شده داده مي شود. و وظيفه اش پاسخ به اين سوال است كه يك كاربر مجاز ( تشخيص هويت داده شده ) چه كار مي تواند بكند و به چه اطلاعاتي مي تواند دسترسي داشته باشد؟
16.
17. يا بازيابي امنيتي:Security recovery يكسري روش هايي هستند كه به يك سيستم كمك مي كند كه زمانيكه يك حمله اتفاق مي افتد ، از آن حمله بتواند خودش را بازيابي كند و به موقعيت قبل از حمله باز گردد. مثل قرار دادن بعضي از كاربران در ليست سياه يا قطع ارتباط فيزيكي شبكه با خارج تا زمانيكه مشكل پيدا شود. كه اين روش به يك سرويس امنيتي خاص محدود نمي شود و يك مكانيزم امنيتي فراگير است.
18. Security audit يا حسابرسي امنيتي: این مكانيزم فعاليت هاي حساس به امنيت يك سيستم مانند تغيير داده هاي محرمانه را به طور دائم نظارت مي كند. براي مثال در صورتيكه يكپارچگي داده هاي يك سيستم حسابداري به هر دليلي از بين برود يا تغيير كند، مكانيزم حسابرسي امنيتي مي تواند آنرا بلافاصله تشخيص دهد و براي بازيابي آنرا به مديريت سيستم گزارش دهد.
19. Intrusion detection يا تشخيص حمله: وظیفه اين مكانيزم شناسايي اتفاقات خاصي است كه مغاير با سياست هاي امنيتي يك سيستم است و يا به طور بالقوه مي تواند براي آن يك تهديد محسوب گردد. براي مثال اگر ورود به يك شبكه محلي از يك سيستم خارجي ممنوع باشد، در صورتيكه چنين اتفاقي بيفتد مكانيزم تشخيص حمله آنرا بعنوان يك حمله احتمالي ثبت و گزارش مي كند.
23. مكانيزم هاي محرمانگي اطلاعات به دو صورت انجام مي گيرد: رمز نگاري متقارن symmetric encryption رمز نگاري نامتقارن asymmetric encryption
24. رمز نگاری متقارن یا symmetric encryption: كليد هايي كه براي رمزگذاري و رمزگشايي استفاده مي شود يكسان هستند مثل سيستم قفل و كليد در دنياي حقيقي. اگر افراد بخواهند در اين روش رمز متن رمزنگاري شده را باز كنند مستلزم اين است كه هر دوي آنها اين كليد را در اختيار داشته باشند كه اين هم مستلزم اين است كه فرد رمز گذاري كننده در يك مكانيزم امن اين كليد را انتقال بدهد به فردي كه مي خواهد رمز گشايي كند، كه اين خود يكي از مشكلات رمزگذاري متقارن است.
25. رمز نگاری نا متقارن یا asymmetric encryption: در اين روش كليد رمزگذاري با رمزگشايي متفاوت است و فرقش با روش قبلي وجود دو كليد متفاوت براي رمزگذاري و رمزگشايي است. معمولا در روشهاي نامتقارن از به توان رساندن استفاده مي كنند. مثل الگوريتم RSA
26.
27. روش Stream cipher توسط دو مكانيزم رمزنگاري مي شود: همزمان يا synchronous stream cipher : اطلاعات رمزگذاري شده قبلي به هيچ عنوان نقشي در كليد ما بازي نمي كنند كه به اين روش KeyAutoKey يا KAK مي گوييم. روش كار به اين صورت است كه يك رشته از اطلاعات بهمراه يك رشته از رمز كه تعداد بيت آنها معادل هستند با هم XOR مي شوند. خود همزمان يا Self-synchronous stream cipher : كه به آن cipher text auto key يا CTAK مي گوييم كه در آن قسمتي از ديتايرمزگذاري شده به شكل دائمي به مولد كليد براي توليد كليد بازخورانده مي شود. بنابراين دائما ما با n بيت از cipher text را بازمي خورانيم . بنابراين تابع توليد كننده كليد ما يكي از پارامتر هاي وروديش n بيت از متن رمزگذاري شده است.
28. مزيت هاي روش KAK: اگر خطايي اتفاق بيفتد ، اين خطا در فرآيند رمزنگاري ما انتشار پيدا نمي كند. مثلا اگر چند بيت در انتقال رشته اي از اطلاعات مثل صدا ، خراب شود ، فقط به صورت يك خش كوچك در گيرنده ظاهر مي شود كه قابل شناسايي است.
29. :KAKعيب روش Spoofing يا جعل هويت خيلي راحت است كه البته باز در مورد صدا نمي شود كه صداي كس ديگري را جعل كرد. بنا بر اين گيرنده فريب نمي خورد.
30. :CTAKمزيت هاي روش حسن اين روش اين است كه جعل هويت را سخت مي كند. اگر كسي به تعداد K بيت خلل وارد كند. از آنجايي كه ما n بيت از متن رمز گذاري شده را به مولد كليد مي دهيم بنابراين هميشه n بيت انتشار خطا داريم. حالا اگر كسي بيايد و K بيت از cipher text را تغيير بدهد بنابر اين ما n+k بيت خطا خواهيم داشت كه سيستم مي تواند آنرا چك بكند و اگر چيز نرمالي نباشد تشخيص بدهد كه جعل هويت يا spoofing اتفاق افتاده است.
31. مشخصاتي كه نرم افزار يا سخت افزار مولد كليد يا key generator بايد داشته باشد: مولد كليد بايد بتواند تعداد نامحدودي ورودي را دريافت كند. هر كليدي بايد منحصر به فرد باشد. مولد كليد بايد خروجي كاملا تصادفي را توليد كند. طول كليد عملا نامحدود باشد. از جاهاي random اي بتواند استارت كند. شاخص مهم ديگر اينكه هشدار دهنده خطا داشته باشد.
32. Block cipher: متن يا ديتاي ما را به بلاك هاي مثلا x بيتي تقسيم مي كند و هر كدام از بلاكها را جداگانه رمزنگاري ميكند. به عدد x كه يك عدد مثبت integer است block size مي گوييم. ما هر بلاك را كه x بيت است به تابع رمزنگاري مي دهيم كه اين تابع به نوبه خودش يك كليد دارد كه در نهايت يك بلاك از plain text را به يك بلاك از متن رمزنگاري شده تبديل مي كند.
33. DES: الگوريتمي است كه يك بلاك 64 بيتي از متن را با استفاده از كليد 56 بيتي رمز مي گذارد. فرآيند رمزگذاري DES شامل 16 مرحله مختلف است كه به شكل جداگانه كار رمزگذاري را انجام مي دهند. كه در مرحله بعد اين بلاك 64 بيتي را به 2 بلاك 32 بيتي تبديل مي كند. نيمه بلاك سمت راست را با آن كليد 56 بيت اوليه رمزنگاري مي كند و سپس اين نيمه را با نيمه سمت چپ XOR مي كند و اين نتيجه را بعنوان نيمه سمت راست در نظر مي گيرد و نيمه سمت راستي كه در مرحله قبل دست نخورده بود را به عنوان نيمه سمت چپ در نظر مي گيرد و دوباره عمليات بالا روي آن انجام مي شود. اين كار 16 بار انجام مي شود و هر بار از كليد مختلف كه توسط آن كليد 56 بيتي بدست مي آيد انجام مي شود. در مرحله آخر ديتاي رمزگذاري شده يكبار ديگر با آن ماتريس البته برعكس جابجا مي شوند. كه از اين الگوريتم ديگر استفاده نمي شود.
34. AES: اين الگوريتم با استفاده از كليدهايي با طول 128 يا 192 يا 256 بيت بر روي يك بلاك 128 بيتي كار مي كند. بنابراين sizeBlock ها نسبت به DES بزرگتر شده و طول كليد نيز متفاوت شده است. در فرآيند رمز گذاري و رمز گشايي، ورودي و خروجي و كليد به عنوان واحد بايت در غالب يك آرايه كه آرايه وضعيت ناميده مي شود، پردازش مي شوند. تمام سطر هاي اين آرايه ثابت و 4 سطر است بنابراين در هر ستون 32 بيت داريم و تعداد ستون بسته به طول كليد متفاوت است. بنابراين در هر سطر كه 32 بيت داريم اگر از 128 بيت كليد استفاده شود تعداد ستون هاي ما 4 تا خواهد بود. واگر از كليد 192 بيتي استفاده كنيم 32/192=6 ستون خواهيم داشت. تعداد مراحل پردازش به طول كليد بستگي دارد و براي كليد 128 بيتي 10 مرحله و 192 بيتي 12 مرحله و 256 بيتي 14 مرحله مختلف استفاده مي كنيم. و مراحل جابجايي و XOR انجام مي شود و بسيار سنگين و رمزگشايي آن غير ممكن است.
35. الگوريتم RSA از روش هاي نامتقارن: اين الگوريتم 2 عدد اول نسبتا بزرگ را به صورت اتفاقي انتخاب مي كند. پيمانه nرا برابر p*q قرار مي دهيم. اين الگوريتم تا حدود زيادي از نظريه اعداد استفاده مي كند. تابع اويلر را بر روي پيمانه nمحاسبه مي كنيم. ΦN=(p-1)(q-1) يك عدد بعنوان public key كه اسمش را pub مي گذاريم را طوري انتخاب مي كنيم كه nΦ نسبت به اول باشد. بعد كليد خصوصي را طوري انتخاب مي كنيم كهpub*private = 1 mod Φn يعني pub*private همنهشت است با 1 به پیمانه Φn. حالا n و pub را مي توانيم انتشار بدهيم و همه از آن اطلاع پيدا كنند و private key و Φn را محرمانه نگه داريم.
41. Cryptographic Hash Function Hash Function به يك تابعي گفته مي شود كه يك ورودي با طول متفاوت قبول ميكند و يك خروجي با طول ثابتي ايجاد ميكند.براياينكه اين Function امن باشد يكسري خصوصياتي بايد داشته باشد.
42. H(m) كه H تابع و m ورودي باشد H(m) خيلي محاسبهاش ساده باشد تقريباً غير ممكن باشد كه ما از روي H(m) يعني مقدار تابع به m يعني ورودي تابع دست پيدا كنيم. غير ممكن باشد كه يك پيامي را تغيير بدهيم و خروجي تابع H(m) تغيير پيدا نكند. غير ممكن باشد كه 2 پيام متفاوت H(m) يكساني داشته باشند.
43. MAC یا : Message authentication code يكي از اين Message Authentication ها Hash Function يا (MAC) است. كاري كه MAC ميكند اين است كه يك كليد را كه Secret key است به همراه يك پيام به عنوان ورودي قبول ميكند و يك خروجي ميدهد بنام MAC يا كد شناسايي هويتي كه به آن پيام تعلق دارد. كاربرد اصلي اين تابع اين است كه زمانيكه ما يك متني را براي كسي ارسال ميكنيم آن شخص بتواند از هويت اصلي فرستنده اطمينان حاصل كند.
44. Secure Hash Standard يا(SAH) بايد بسيار سخت و غيرممكن باشد كه ما بتوانيم از خروجي تابع Hash كه اصطلاحاً به آن Message Digest هم ميگوييم به اصل پيام دسترسي پيدا كنيم. Message Digest معمولاً چيزي است كه ميتوانيم به شكل غير رمزگذاري شده و غير Secure به همراه متن فرستاده شود. در اينجا هدف ما Confidentiality و محرمانگي دادهها نيست بلكه هدف ما حصول اطمينان از درست بودن و صحت فرستنده پيام است. يكپارچگي را هم ميتوان بررسي كرد چون اگر تغييري در پيام اصلي اتفاق بيافتد Message Digest متفاوتي خواهد داد.
45. Message Digest 5 (MD5) به صورت MD5, MD4, MD2 در سالهاي مختلف ابداع شده و اين 3 الگوريتميكMessage Digest128بيتي توليد ميكنند صرف نظر از اينكه ورودي اين تابع چه طولي داشته باشد. البته وروديش بايد كمتر از بيت باشد
46.
47.
48. Rule – Based Access control يعني بر اساس يك قانون سيستمهايي كه نياز به امنيت زيادي دارند مثل سيستمهاي نظامي كه سطوح امنيتي متفاوتي وجود دارد ديگر Integrity – based چاره كار اين سيستمها نيست. بنابراين ما به هر منبعي يك Security label اختصاص ميدهيم . با مكانيزم پيادهسازي Rule – Basedبه هر فردي هم يك Security label اختصاص ميدهيم حالا براياينكه فردي بتواند به هر منبعي دسترسي پيدا كند بايد Security label آن فرد حداقل مساوي يا بيشتر از آن Security label باشد كه ميخواهد به آن دسترسي پيدا كند.
50. :سرویس امنيت پرداخت طراحي سرويس امنيت پرداخت با تحليل ريسك يا Risk Analysis شروع ميشود كه اول بايد ريسكها و تهديدات موجود را شناسايي كنيم و اولويت بندي كنيم و بر اساس آن يك سرويس امنيتي را پيادهسازي كنيم. سيستمهاي امنيتي بسته به نوع كاركرد بايد متفاوت باشند. اصولاً مشكلاتي كه سيستم پرداخت چه سنتي چه الكترونيك با آن مواجه بوده سه مورد است.
51. پول ميتواند جعل شود. (سند ديجيتال ميتواند به كرّات كپي شود) امضاء ميتواند جعل شود. (امضاي ديجيتال ميتواند توسط هر كسي كه Private key آن شخص را داشته باشد اتفاق بيافتد) چك ميتواند برگشت بخورد.(هويت يك شخص مشتري ممكن است به يك Transactionنسبت داده بشود همچنين پرداخت خاصي كه مشتري ميخواهد محرمانه باقي بماند)
52. ما چند الزام امنيتي پايه و اساسي براي پرداخت الكترونيكي ميخواهيم Payment Authentication Payment Integrity Authorization Payment Payment Confidentiality
53. Payment Authentication يعني هم فروشنده و هم خريدار هويتشان شناسايي شود. البته هويت پرداخت و سيستمي آن فرد. اگر كه Anonymity شخص مورد نظر نياز نباشد، يكي از مكانيزمهاي Authentication اي كه در قسمت قبل گفتيم، اين نياز را برآورده ميكند حالا اگر Anonymity فرد مورد نياز باشد يعني هويت فرد بخواهد نشان داده نشود و محفوظ بماند راهكارهاي خاصي نياز داريم كه در ادامه به آن اشاره خواهيم كرد.
54. PaymentIntegrity بسيارشبيه Data Integrity است. اصولاً Integrity به اين معني است كه اطلاعات ما يكپارچه بماند. براي اين منظور هم مكانيزمهاي امنيتي كه در بخش اول گفتيم كفايت ميكند مثل Hash Function.
55. Authorization Payment به معني كسب اجازه است كه بعد از اينكه مشتري و فروشنده Authenticate ميشوند و هويتشان احراز ميشود ما نياز به اين داريم كه به شكل صريح و مستند، اجازهي برداشت پول از حساب مشتري و واريز آن به حساب فروشنده را داشته باشيم به اين مكانيزم Authorization Paymentميگويند.
56. PaymentConfidentiality به مكانيزمهايي ميپردازد كه اطلاعات رد و بدل شدهي بين فروشنده و مشتري بايد محرمانه بماند كه باز ميتوانيم از سيستمهاي امنيتي مثل Encryption استفاده كنيم. البته در پرداخت الكترونيك اين قسمت را نياز داريم كه قسمتي از اطلاعات را از ديد Entity هاي ديگر محفوظ نگه داريم و يا نگه نداريم.
57.
58.
59. در پرداخت الكترونيكي علاوه بر مسائل گفته شده براي ما قابليت دسترسي Availability و قابليت اطمينان يا Reliabilityمهم است. Availability در دسترس بودن يعني هميشه آن سيستم در حال خدمت رساني باشد و هيچوقت متوقف نشود. Reliabilityيعني قابليت اطمينان داشته باشد و حمله كنندگان توسط حملاتDos نتوانند سيستم را مختل كنند. روشهاي مختلفي براي Availability وجود دارد از جمله Redundancy داشتن منابع تكراري از سيستم (چه منابع سخت افزاري و چه منابع نرم افزاري) كه در صورت وقوع اشكالي در يكي از آن منابع، منبع ديگر بتواند جايگزين منبع شوند.