1.16k likes | 1.4k Views
رمزنگاري و امنيت شبکه بهروز ترک لاداني ladani@eng.ui.ac.ir. فهرست مطالب. تعاريف و مفاهيم رمزنگاري متقارن رمزنگاري نامتقارن (کليد عمومي) Hash & MAC مديريت کليد زيرساخت کليد عمومي. حفاظت از شبكة خودي. ارتباط امن بينشبكهاي. ارتباط امن. مديريت امنيت.
E N D
رمزنگاري و امنيت شبکه بهروز ترک لاداني ladani@eng.ui.ac.ir امنيت در شبکه هاي کامپوتري (1386)
فهرست مطالب تعاريف و مفاهيم رمزنگاري متقارن رمزنگاري نامتقارن (کليد عمومي) Hash & MAC مديريت کليد زيرساخت کليد عمومي امنيت در شبکه هاي کامپوتري (1386)
حفاظت از شبكة خودي ارتباط امن بينشبكهاي ارتباط امن مديريت امنيت سرويسهاي اساسي امنيت • پيكربندي و بكارگيري امن سيستم عامل • محافظت شبكه به كمك ديوارة آتش • امنسازي ارتباطات به كمك روشهاي رمزنگاري امنيت در شبکه هاي کامپوتري (1386)
Virtual Private Network امنيت ارتباطات و حفاظت شبكه امنيت در شبکه هاي کامپوتري (1386)
Application Application Proxy SET, PEM, S-HTTP Kerberos,… Presentation Session Circuit Proxy Transport SSL,TLS Network IPSec Packet Filtering Datalink PPTP Physical امنيت ارتباطات و حفاظت شبكه حفاظت از شبكه امنيت ارتباطات امنيت در شبکه هاي کامپوتري (1386)
مدل انتزاعي حفاظت از شبکه امنيت در شبکه هاي کامپوتري (1386)
مدل انتزاعي امنيت ارتباطات در شبکه امنيت در شبکه هاي کامپوتري (1386)
تعاريف رمزنگاری امنيت در شبکه هاي کامپوتري (1386)
سرويس هاي رمزنگاري امنيت در شبکه هاي کامپوتري (1386)
سرويس هاي رمزنگاري امنيت در شبکه هاي کامپوتري (1386)
سرويس هاي رمزنگاري امنيت در شبکه هاي کامپوتري (1386)
رمزنگاري متقارن امنيت در شبکه هاي کامپوتري (1386)
K کليد متقارن رمزنگاري متقارن Adversary EVE Bob محرمانگي شبکه ناامن 0 1 1 0 1 ... Alice به طور امن منتقل ميشود امنيت در شبکه هاي کامپوتري (1386)
تعاريف • متن واضح Plaintext : • متن رمزشده Ciphertext: • Encryption/Encode/Encipher • Decryption/Decode/Decipher • C=E(P) P=D(C) P=D(E(P)) • الگوريتمهاي رمزنگاري کلاسيک/ مدرن امنيت در شبکه هاي کامپوتري (1386)
جانشيني جانشينييک حرف با حرف ديگر تک الفبايي چند الفبايي جايگشتي جابجايي بين حروف متن اصلي هدف diffusion (درهمريختگي) بيشتر است الگوريتمهاي رمز متقارن کلاسيک • از زمان جنگ جهاني دوم مورد استفاده قرار مي گرفتند • انجام دادن با دست قبل از به وجود آمدن سيستم هاي کامپيوتري امروزي امنيت در شبکه هاي کامپوتري (1386)
جانشيني سزار- تک الفبايي send another catapult abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz K = y C = P + K (mod 26) r rdmc zmnsqds bzszotks • به خاطر سپاري آسان • مشاهده patternها به آساني رمز جانشيني تک الفبايي امنيت در شبکه هاي کامپوتري (1386)
Vigenere جدول • رمز جانشيني چند الفبايي • استفاده از کلمه در ترکيب با متن و انجام محاسبات در پيمانه 26 M = SEND ANOTHER CATAPULT K = h a i l c e a s e r h a i l c e a s e C = z e v o c r o l l v y c i e c t u d x
مثال (جايگشتي ستوني) کليد: تعداد ستونها (در اينجا 5) S E N D * A N O T H E R * C A T A P U L T * * * * SAETTENRA*NO*P*DTCU**HAL* = امنيت در شبکه هاي کامپوتري (1386)
مثال (تحليل) Aerial reconnaissance reports enemy reinforcements estimated at battalion strength entering your sector PD Clarke فراواني حروف متن اصلي امنيت در شبکه هاي کامپوتري (1386)
فراواني حروف متن رمزشده (تک الفبايي) مثال (تحليل سيستم رمز جانشيني) DHULDOUHFRQQLVVDQFHUHSRUWVHQHPBUH . . . امنيت در شبکه هاي کامپوتري (1386)
الگوريتمهاي رمز متقارن مدرن • رمزهاي متقارن مدرن را مي توان با ابزارهاي متفاوتي توليد کرد • ابزارهاي مهم : • رمزهاي قطعه اي (قالبي) • پردازش پيغام ها بصورت قطعه به قطعه • سايز متعارف قطعات 64، 128 يا 256 بيت • رمزهاي دنباله اي • پردازش پيغام ها بصورت پيوسته امنيت در شبکه هاي کامپوتري (1386)
رمزهاي قطعه اي متن واضح (تقسيم شده به قطعات) قطعات خروجي امنيت در شبکه هاي کامپوتري (1386)
اصول رمزهاي قطعه ايي • نگاشت قطعات متن واضح به قطعات متن رمزشده بايد برگشت پذير (يك به يك)باشد. • الگوريتم قطعات ورودي را در چند مرحله ساده و متوالي پردازش ميکند. به اين مراحل دور ميگوييم. • هر دور عموماً مبتني بر تركيب اعمال ساده اي همچون جايگزينيو جايگشت استوار است. امنيت در شبکه هاي کامپوتري (1386)
استانداردهاي رمزهاي قطعه ايآمريکا • رمزهاي قطعه اي استاندارد • استاندارد رمزگذاري داده DES • استاندارد رمزگذاري پيشرفته AES • تحت نظارت National Institute of Science and Technology (NIST) امنيت در شبکه هاي کامپوتري (1386)
استاندارد رمزنگاري داده DES • مرور • در سال 1974 توسط IBM توليد شد • پس از انجام تغييراتي توسط NSA، در سال 1976NIST آن را پذيرفت. • اساس الگوريتم تركيبي از عمليات جايگزينيو جايگشت ميباشد. • مشخصات: • طول كليد56 بيت • طول قطعههاي ورودي و خروجي : 64 بيت • تعداد دورها: 16 دور • الگوريتمهاي رمزگذاري و رمزگشايي عمومي هستند, ولي مباني رياضي و اصول طراحي آنها فاش نشد. • در گذشته بسيار پر استفاده بود. امنيت در شبکه هاي کامپوتري (1386)
استاندارد رمزنگاري داده DES قطعه 64 بيتي متن واضح زير کليد دور دور1 توليد زير کليدهاي 48 بيتي از کليد اصلي 56 بيتي براي هر دور دور2 دور15 دور16 قطعه 64 بيتي متن رمزشده کليد 56 بيتي امنيت در شبکه هاي کامپوتري (1386)
One Feistel round توسط زمانبندي کليد توليد ميشود. Li (32 bit) Ri (32 bit) Ki (48 bit) “round key” f “round function” Li+1 Ri+1 امنيت در شبکه هاي کامپوتري (1386)
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 امنيت در شبکه هاي کامپوتري (1386)
تابع دور 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 امنيت در شبکه هاي کامپوتري (1386)
تابع دور DES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S1 S2 S3 S4 S5 S6 S7 S8 P امنيت در شبکه هاي کامپوتري (1386)
Key-schedule Ci-1 (28 bit) Di-1 (28 bit) Permuted choice شيفت به چپ Ki PC2 48 bits Ci (28 bit) Di (28 bit) امنيت در شبکه هاي کامپوتري (1386)
Left shift(s) Left shift(s) Left shift(s) Left shift(s) Permuted Choice 2 Permuted Choice 2 زمانبندي کليد • هر بيت کليد حدوداً در 14 دور از 16 دور استفاده ميشود. K (56) Permuted Choice 1 (28) (28) (28) (28) (48) K1 (48) K2 … امنيت در شبکه هاي کامپوتري (1386)
بررسي s-boxدرDES • تنها بخش غيرخطي از الگوريتم DES هستند • غيرقابل برگشت ميباشند • اصول طراحي آنها سري است • استفاده از 8 S-Box كه هريك 6 بيت ورودي را به 4 بيت خروجي تبديل مي كنند. • بيتهاي 1 و 6 : انتخاب يكي از 4 سطر ماتريس • بيتهاي 2 تا 5 : انتخاب يكي از 16 ستون ماتريس • برگرداندن عدد موجود در آن خانه از ماتريس به عنوان خروجي • در مجموع 48 بيت ورودي از 8 S-Box مختلف عبور مي كنند و 32 بيت برمي گردانند امنيت در شبکه هاي کامپوتري (1386)
يک S-Box از DES امنيت در شبکه هاي کامپوتري (1386)
DES از رده خارج شده است • در ژانويه 1999 اين الگوريتم توسط آزمون جامع فضاي کليد در 23 ساعت شکسته شد! • بيش از هزار کامپيوتر بر روي اينترنت هر يک بخش کوچکي از کار جستجو را انجام دادند. • به الگوريتمهاي امن تر با طول کليد بالاتر نياز داريم. • DES طراحي شفاف و روشن ندارد. امنيت در شبکه هاي کامپوتري (1386)
استاندارد رمزگذاري پيشرفته AES • NIST در سال 1997 مسابقه اي دو مرحله اي براي طراحي استاندارد جديد برگزار کرد. • تمام طراحي ها بايد بر اساس اصول کاملاً روشن انجام شوند. • سازمانهاي دولتي آمريکا حق هيچ گونه دخالتي در طراحي الگوريتم ندارند. • در سال 2000 رايندال (Rijndael) به عنوان برنده اعلام شد • استاندارد رمزگذاري پيشرفته AES امنيت در شبکه هاي کامپوتري (1386)
مشخصات استاندارد رمزگذاري پيشرفته AES • طول كليد 128، 192 و يا 256 بيت • طول قطعههاي ورودي و خروجي : 128، 192 و يا 256 بيت • تعداد دورها: بسته به طول کليد و طول قطعه، • براي 128 بيت: 9 دور امنيت در شبکه هاي کامپوتري (1386)
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 امنيت در شبکه هاي کامپوتري (1386)
مدهاي کاري رمزهاي قطعه اي • برخي مدهاي کاري: • ECB: Electronic Code Book • CBC: Cipher Block Chaining • CTR: Counter Mode • CFB: Cipher Feed Back • OFB: Output Feed Back • مدهاي کاري را مي توان با AES، DES، CAST-128 ... پياده سازي کرد. امنيت در شبکه هاي کامپوتري (1386)
C1 P1 CN PN C2 P2 E D K K D D E E K K K K C1 P1 CN PN C2 P2 مد کاريECB • رمز نگاري: • رمز گشايي: امنيت در شبکه هاي کامپوتري (1386)
بررسي مد کاريECB • اشکال اساسي: هر متن واضح به ازاء کليد ثابت هميشه به يک متن رمز شده نگاشته ميشود. • دشمن ميتواند دريابد که پيامهاييکسان ارسال شده اند. اين مد امن محسوب نميشود حتي اگر از يک رمز قطعه ايي قوي استفاده کنيم. • ECB مثالي از مواردي است که علي رغم بهره برداري از عناصر مرغوب، کيفيت نهايي دلخواه نيست. امنيت در شبکه هاي کامپوتري (1386)
مد کاريCBC-1 • اين مد از يک مقدار دهي اوليه تصادفي،IV، بهره ميگيرد. • مقدار IV در هر بار رمز نگاري به صورت تصادفي تغيير ميکند. • IV همراه با متن رمز شده به صورت واضح ارسال ميشود. • هر متن واضح به ازاء کليد ثابت هر بار به يک متن رمز شده متفاوت نگاشته ميشود (زيرا مقدار IV تغيير مينمايد). امنيت در شبکه هاي کامپوتري (1386)
PN P3 P1 P2 + + + + E E E E K K K K CN-1 C2 C1 C3 CN C3 C2 C1 D D D D K K K K + + + + PN P1 P2 P3 مد کاريCBC-2 • رمز نگاري: IV CN-1 … • رمز گشايي: CN-1 IV امنيت در شبکه هاي کامپوتري (1386)
بررسي مد کاريCBC • ملزومات امنيتي: • IV بايد کاملاً غير قابل پيش بيني باشد (براي تضمين عدم تشابه متن رمز پيام هاي يكسان) • رمزنگاري: • عمليات رمزنگاري قابل موازي سازينيست. • مقدار IV و متن واضح بايد در دسترس باشند. • رمزگشايي: • عمليات رمزگشايي قابل موازي سازي است. • مقدار IV و متن رمزشده بايد در دسترس باشند. • طول پيام: • در برخي موارد ممکن است وادار به افزايش طول پيام بشويم. • طول پيام بايد مضربي از طول قطعه باشد. • پياده سازي: • رمز گشايي و رمز نگاري، هر دو بايد پياده سازي شوند. امنيت در شبکه هاي کامپوتري (1386)
رمزنگاري نامتقارن (کليد عمومي) امنيت در شبکه هاي کامپوتري (1386)
مباني رمزنگاري کليد عمومي • رمزنگاري کليد عمومي اساساً با انگيزه رسيدن به دو هدف طراحي شد: • حل مساله توزيع کليد • امضاي ديجيتال • ديفي و هلمن اولين راه حل را در 1976 ارايه دادند. امنيت در شبکه هاي کامپوتري (1386)
مباني رمزنگاري کليد عمومي • کليد هاي رمزگذاري و رمزگشايي متفاوت اما مرتبط هستند. • رسيدن به کليد رمزگشايي از کليد رمزگذاري از لحاظ محاسباتي ناممکن مي باشد. • رمزگذاري امري همگاني ميباشد و اساساً نيازي به اشتراک گذاشتن اطلاعات محرمانه ندارد. • رمز گشايي از طرف ديگر امري اختصاصي بوده و محرمانگي پيامها محفوظ ميماند. امنيت در شبکه هاي کامپوتري (1386)
مباني رمزنگاري کليد عمومي • براي رمز نگاري کليد عمومي گامهاي زير را برميداريم: • هر کاربر يک زوج کليد رمزگذاري و رمز گشايي توليد ميکند. • کاربران کليد رمزگذاري خود را به صورت عمومي اعلان ميکنند درحالي که کليد رمز گشايي مخفي ميباشد. • همگان قادر به ارسال پيام رمز شده براي هر کاربر دلخواه با استفاده از کليد رمزگذاري (عمومي) او ميباشند. • هر کاربر ميتواند با کمک کليد رمزگشايي (خصوصي) پيامهايي که با کليد رمزگذاري (عمومي) او رمز شده رمزگشايي کند. امنيت در شبکه هاي کامپوتري (1386)
مباني رمزنگاري کليد عمومي امنيت در شبکه هاي کامپوتري (1386)
مقايسه رمزنگاري متقارن و کليد عمومي • رمزنگاري مرسوم (کليد خصوصييا کليد متقارن) • استفاده از يك كليد يکسان و مخفي براي رمزگذاري و رمزگشايي • مشكل مديريت كليدها • نياز به توافق بر روي كليد پيش از برقراري ارتباط • براي ارتباط n نفر باهم به n(n-1)/2 كليد احتياج داريم • عدم پشتيباني از امضاء الكترونيكي • سريعتر از الگوريتمهاي رمزگذاري با كليد عمومي امنيت در شبکه هاي کامپوتري (1386)