1.4k likes | 2.07k Vues
رمزنگاري و امنيت شبکه. بهروز تركلاداني ladani@eng.ui.ac.ir. 1. فهرست مطالب. مفاهيم ، تعاريف و اصطلاحات رمزنگاري متقارن رمزنگاري نامتقارن ( کليد عمومي) Hash & MAC مديريت کليد زيرساخت کليد عمومي . Information. Requirements & Policies. اصطلاحات.
E N D
رمزنگاري و امنيت شبکه بهروز تركلاداني ladani@eng.ui.ac.ir 1
فهرست مطالب مفاهيم، تعاريف و اصطلاحات رمزنگاري متقارنرمزنگاري نامتقارن (کليد عمومي) Hash & MAC مديريت کليد زيرساخت کليد عمومي
Information Requirements & Policies اصطلاحات Security Architecture Security Features or Services Attackers/Intruders/ Malfeasors Security Mechanisms
حفاظت از شبكة خودي ارتباط امن بينشبكهاي ارتباط امن مديريت امنيت سرويسهاي اساسي امنيت • پيكربندي و بكارگيري امن سيستم عامل • محافظت شبكه به كمك ديوارة آتش • امنسازي ارتباطات به كمك روشهاي رمزنگاري
Virtual Private Network امنيت ارتباطات و حفاظت شبكه
Application Application Proxy SET, PEM, S-HTTP Kerberos,… Presentation Session SSL,TLS Circuit Proxy Transport IPSec Packet Filtering Network PPTP Datalink Physical امنيت ارتباطات و حفاظت شبكه حفاظت از شبكه امنيت ارتباطات
تعاريف • متن واضح Plaintext : • متن رمزشده Ciphertext: • Encryption/Encode/Encipher • Decryption/Decode/Decipher • C=E(P) P=D(C) P=D(E(P))
جانشيني جانشينييک حرف با حرف ديگر تک الفبايي چند الفبايي جايگشتي جابجايي بين حروف متن اصلي هدف diffusion (درهمريختگي) بيشتر است رمزهاي کلاسيک (دو روش پايهاي) • از زمان جنگ جهاني دوم مورد استفاده قرار مي گرفتند • انجام دادن با دست قبل از به وجود آمدن سيستم هاي کامپيوتري امروزي
جانشيني سزار- تک الفبايي send another catapult abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz K = y C = P + K (mod 26) r rdmc zmnsqds bzszotks • به خاطر سپاري آسان • مشاهده patternها به آساني رمز جانشيني تک الفبايي
رمزنگاري متقارن • دو طرف به دنبال برقراري ارتباط محرمانه هستند. • ارتباط بر روي محيط نا امن انجام ميپذيرد. • طرفين پيامهاي خود را رمز ميکنند. • رمز نگاري متقارن: الگوريتمهاي رمز نگاري آنها تابع اطلاعات مخفي است که فقط خود از آنها مطلع ميباشند. براي تبادل اين اطلاعات مخفي نياز به کانال امن است. کليد مخفي
K کليد متقارن Adversary EVE Bob محرمانگي شبکه ناامن 0 1 1 0 1 ... Alice به طور امن منتقل ميشود
الگوريتمهاي رمزهاي متقارن • رمزهاي متقارن را مي توان با ابزارهاي متفاوتي توليد کرد • ابزارهاي مهم : • رمزهاي قطعه اي (قالبي) • پردازش پيغام ها بصورت قطعه به قطعه • سايز متعارف قطعات 64، 128 يا 256 بيت • رمزهاي دنباله اي • پردازش پيغام ها بصورت پيوسته
رمزهاي قطعه اي متن واضح (تقسيم شده به قطعات) قطعات خروجي
اصول رمزهاي قطعه ايي • نگاشت قطعات متن واضح به قطعات متن رمزشده بايد برگشت پذير (يك به يك)باشد. • الگوريتم قطعات ورودي را در چند مرحله ساده و متوالي پردازش ميکند. به اين مراحل دور ميگوييم. • هر دور عموماً مبتني بر تركيب اعمال ساده اي همچون جايگزينيو جايگشت استوار است.
استانداردهاي رمزهاي قطعه ايآمريکا • رمزهاي قطعه اي استاندارد • استاندارد رمزگذاري داده DES • استاندارد رمزگذاري پيشرفته AES • تحت نظارت National Institute of Science and Technology (NIST)
استاندارد رمزگذاري داده DES • مرور • در سال 1974 توسط IBM توليد شد • پس از انجام تغييراتي توسط NSA، در سال 1976NIST آن را پذيرفت. • اساس الگوريتم تركيبي از عمليات جايگزينيو جايگشت ميباشد. • مشخصات: • طول كليد56 بيت • طول قطعههاي ورودي و خروجي : 64 بيت • تعداد دورها: 16 دور • الگوريتمهاي رمزگذاري و رمزگشايي عمومي هستند, ولي مباني رياضي و اصول طراحي آنها فاش نشد. • در گذشته بسيار پر استفاده بود.تشريح نحوه عملکرد DES
استاندارد رمزگذاري داده DES قطعه 64 بيتي متن واضح زير کليد دور دور1 توليد زير کليدهاي 48 بيتي از کليد اصلي 56 بيتي براي هر دور دور2 دور15 دور16 قطعه 64 بيتي متن رمزشده کليد 56 بيتي
One Feistel round توسط زمانبندي کليد توليد ميشود. Li (32 bit) Ri (32 bit) Ki (48 bit) “round key” f “round function” Li+1 Ri+1
X (64) Initial Permutation (32) (32) F (48) + K1 F + (48) K2 Key Scheduler (56) K F + (48) K3 … F (48) + K16 Initial Permutation-1 Y (64) ساختارFeistel رمز DES
تابع دور DES 32 expansion 48 کليد دور Ki 48 6 to 4 S-box 6 to 4 S-box 6 to 4 S-box 6 to 4 S-box 6 to 4 S-box 6 to 4 S-box 6 to 4 S-box 6 to 4 S-box 32 permutation
تابع دور DES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S1 S2 S3 S4 S5 S6 S7 S8 P
Key-schedule Ci-1 (28 bit) Di-1 (28 bit) Permuted choice شيفت به چپ Ki PC2 48 bits Ci (28 bit) Di (28 bit)
Left shift(s) Left shift(s) Left shift(s) Left shift(s) Permuted Choice 2 Permuted Choice 2 زمانبندي کليد K (56) • هر بيت کليد حدوداً در 14 دور از 16 دور استفاده ميشود. Permuted Choice 1 (28) (28) (28) (28) (48) K1 (48) K2 …
DES از رده خارج شده است • در ژانويه 1999 اين الگوريتم توسط آزمون جامع فضاي کليد در 23 ساعت شکسته شد! • بيش از هزار کامپيوتر بر روي اينترنت هر يک بخش کوچکي از کار جستجو را انجام دادند. • به الگوريتمهاي امن تر با طول کليد بالاتر نياز داريم. • DES طراحي شفاف و روشن ندارد.
استاندارد رمزگذاري پيشرفته AES • NIST در سال 1997 مسابقه اي دو مرحله اي براي طراحي استاندارد جديد برگزار کرد. • تمام طراحي ها بايد بر اساس اصول کاملاً روشن انجام شوند. • سازمانهاي دولتي آمريکا حق هيچ گونه دخالتي در طراحي الگوريتم ندارند. • در سال 2000 رايندال (Rijndael) به عنوان برنده اعلام شد • استاندارد رمزگذاري پيشرفته AES
مشخصات استاندارد رمزگذاري پيشرفته AES • طول كليد 128، 192 و يا 256 بيت • طول قطعههاي ورودي و خروجي : 128، 192 و يا 256 بيت • تعداد دورها: بسته به طول کليد و طول قطعه، • براي 128 بيت: 9 دور
Other Block Ciphers • Blowfish, Twofish – Bruce Schneier et al • CAST – Entrust – S-boxes not fixed • FEAL – more complex per round than DES so fewer rounds - FEAL-4 broken with 5 known plaintexts • GOST – Soviet “DES” std with 256-bit keys, 32 rounds • IDEA – 128-bit keys, PGP used in early versions • RC2 – “Ron’s code” (Ron Rivest), variable size key • RC5 – variable size key • RC6 – candidate for AES • Skipjack – 80-bit key, 32 rounds, NSA initially classified
مدهاي کاري رمزهاي قطعه اي • برخي مدهاي کاري: • ECB: Electronic Code Book • CBC: Cipher Block Chaining • CTR: Counter Mode • CFB: Cipher Feed Back • OFB: Output Feed Back • مدهاي کاري را مي توان با AES، DES، CAST-128 ... پياده سازي کرد.
PN P3 P1 P2 + + + + E E E E K K K K CN-1 C2 C1 C3 CN C2 C1 C3 D D D D K K K K + + + + PN P2 P3 P1 مد کاريCBC-2 • رمز نگاري: IV CN-1 … • رمز گشايي: CN-1 IV
مباني رمزنگاري کليد عمومي • رمزنگاري کليد عمومي اساساً با انگيزه رسيدن به دو هدف طراحي شد: • حل مساله توزيع کليد • امضاي ديجيتال • ديفي و هلمن اولين راه حل را در 1976 ارايه دادند.
رمزنگاري کليد عمومي • کليد هاي رمزگذاري و رمزگشايي متفاوت اما مرتبط هستند. • رسيدن به کليد رمزگشايي از کليد رمزگذاري از لحاظ محاسباتي ناممکن مي باشد. • رمزگذاري امري همگاني ميباشد و اساساً نيازي به اشتراک گذاشتن اطلاعات محرمانه ندارد. • رمز گشايي از طرف ديگر امري اختصاصي بوده و محرمانگي پيامها محفوظ ميماند.
رمزگذاري کليد عمومي • براي رمز نگاري کليد عمومي گامهاي زير را برميداريم: • هر کاربر يک زوج کليد رمزگذاري و رمز گشايي توليد ميکند. • کاربران کليد رمزگذاري خود را به صورت عمومي اعلان ميکنند درحالي که کليد رمز گشايي مخفي ميباشد. • همگان قادر به ارسال پيام رمز شده براي هر کاربر دلخواه با استفاده از کليد رمزگذاري (عمومي) او ميباشند. • هر کاربر ميتواند با کمک کليد رمزگشايي (خصوصي) پيامهايي که با کليد رمزگذاري (عمومي) او رمز شده رمزگشايي کند.
مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي • رمزنگاري مرسوم (کليد خصوصييا کليد متقارن) • استفاده از يك كليد يکسان و مخفي براي رمزگذاري و رمزگشايي • مشكل مديريت كليدها • نياز به توافق بر روي كليد پيش از برقراري ارتباط • براي ارتباط n نفر باهم به n(n-1)/2 كليد احتياج داريم • عدم پشتيباني از امضاء الكترونيكي • سريعتر از الگوريتمهاي رمزگذاري با كليد عمومي
محرمانگي و احراز هويت به صورت همزمان رمزگذاري کليد عمومي: محرمانگي و احراز هويت به صورت همزمان
كاربردهايرمزگذاري کليد عمومي • دسته بندي كلي كاربردها • رمزگذاري/ رمز گشايي : براي حفظ محرمانگي • امضاء رقمي : براي حفظ اصالت پيام و معين نمودن فرستنده پيام (پيوند دادن پيام با امضاء کننده) • توزيع كليد : براي توافق طرفين روي كليد نشست مخفي
كليات الگوريتم رمز نگاريRSA • كليات • توسط Adleman- Shamir- Rivestدر سال 1977 در MIT ارائه شد • مشهورترين و پركاربردترين الگوريتم رمزگذاري كليد عمومي • مبتني بر توان رساني پيمانه ايي • استفاده از اعداد طبيعي خيلي بزرگ • امنيت آن ناشي از دشوار بودن تجزيه اعداد بزرگ، که حاصلضرب دو عامل اول بزرگ هستند، مي باشد. • مستندات مربوط به آن تحت عنوان PKCS استاندارد شده است.
نمادگذاريRSA • N : پيمانه محاسبات • e: نمايرمزگذاري • d: نماي رمزگشايي • M: پيام ، عدد صحيح متعلق به • تابع RSA: دريچه تابع همان d ميباشد. • تابع معکوس:
قراردادها و پرتکل RSA • هم فرستنده و هم گيرنده مقدار N را ميدانند • فرستنده مقدار e را ميداند • کليد عمومي : (N , e) • تنها گيرنده مقدار d را ميداند • کليد خصوصي : (N, d) • نيازمنديها: • محاسبه Me و Cd آسان باشد • محاسبه d با دانستن کليد عمومي غيرممكن باشد
RSA -مثال p = 17, q = 11, n = p*q= 187 (n) = 16*10 =160, pick e=7, d.e=1 mod (n) d = 23
احراز تماميت پيام چيست؟ • اطمينان از: • تماميت پيام؛ يعني پيام دريافتي دستکاري نشده است: • بدون تصحيح، • بدون درج، • بدون حذف • پيام از جانب فرستنده ادعا شده ارسال شده است
1 Adversary EVE Bob محرمانگي تماميت پيام 0 1 1 0 1 ... Shared Network Alice