جلسه چهارم رمزنگاری ()2 برگرفته از اسالیدهای © University of Glamorgan ارائه دهنده: حسین محمدحسن زاده 27فروردین 1392 1 H.M.Hassanzade, Hassanzade@Gmail.com مزایا و معایب رمزنگاری متقارن و نامتقارن • مزایای رمزنگاری متقارن • • • • • • • ساده :تنها با اشتراک گذاری کلید توسط کاربران می توان عملیات را انجام داد رمزنگاری و رمزگشایی فایل های شخصی با یک کلید نرخ باال در توان عملیاتی (سریع) عدم نیاز به منابع کامپیوتری زیاد کلیدهای نسبتا ً کوتاه در صورت افشای کلید ،تنها در ارتباط دو کاربر اخالل ایجاد می شود و نه کل کاربران! تأمین اهداف اولیه رمزنگاری افزون بر رمزنگاری • • • افزودن عددی تصادفی به متن پیام با هدف تشخیص تغییر در اصل پیام توسط گیرنده ابزاری برای ایجاد مکانیزم های قوی تر رمزنگاری دارای قدمتی تاریخی 2 H.M.Hassanzade, Hassanzade@Gmail.com مزایا و معایب رمزنگاری متقارن و نامتقارن • (ادامه) معایب رمزنگاری متقارن • • • • • • نیازمند حفاظت از کلید در دو طرف ارتباط مدیریت حجم عظیمی از کلیدها :در شبکه های بزرگ ،تعداد کلید زیادی باید مدیریت شود تغییر مداوم کلید :در نمونه های موفق رمزنگاری نشان داده شده کلید باید مداوم تغییر کند نیازمند کلیدهای طوالنی با شخص سوم مورد اعتماد در امضای دیجیتال نیازمند کانالی امن برای تبادل کلید هویت و اصالت مبداء را نمی توان ضمانت نمود 3 H.M.Hassanzade, Hassanzade@Gmail.com مزایا و معایب رمزنگاری متقارن و نامتقارن • (ادامه) مزایای رمزنگاری نامتقارن • • • • • • • • سهولت در مکانیزم :تنها الزم است کلید خصوصی به صورت محرمانه نگهداری شود حضور تنها یک functional TTPکافیست (عدم نیاز به )unconditionally TTP زوج کلید عمومی،خصوصی را می توان بسته به کاربرد برای زمان زیادی بدون تغییر استفاده نمود مکانیزم های امضای دیجیتال بسیاری از این روش استفاده می کنند در مقایسه با متقارن ،در شبکه های بزرگ ،به تعداد کمتری کلید نیاز است امکان احراز هویت فرستنده برای گیرنده قابلیت تشخیص تغییر در اصل پیام عدم امکان انکار توسط فرستنده 4 H.M.Hassanzade, Hassanzade@Gmail.com مزایا و معایب رمزنگاری متقارن و نامتقارن • (ادامه) معایب رمزنگاری نامتقارن • • • • • سرعت پایین در مقایسه با رمزنگاری متقارن اندازه بزرگ کلیدها الزم است کلیدهای عمومی تصدیق اصالت شود (یعنی کلید واقعا متعلق به فرستنده است) نیازمند منابع کامپیوتری بیشتر مضرات جبران ناپذیر در صورت افشای کلید خصوصی 5 H.M.Hassanzade, Hassanzade@Gmail.com رمزنگاری و تجارت الکترونیک • کاربردهای رمزنگاری در تجارت الکترونیک • • • مراجع صدور گواهی کوکی ها ،کارت های خرید ،رمزنگاری ،SSLالگوریتم های Hash پروتکل های پرداخت • • • • iKp Millicent SET Digital Cash, Digital Certificate, Digital Wallet 6 H.M.Hassanzade, Hassanzade@Gmail.com امضای دیجیتال • مکانیزمی مشابه امضای سنتی • نمادی که تنها فرستنده می تواند آن را تولید کند و دیگران می توانند به آسانی صحت آن را تأیید کنند • دو شرط اساسی را می بایست برآورده سازد: • غیرقابل جعل باشد؛ • • معتبر باشد؛ • • اگر فرستنده ،Pپیام Mرا با امضای ) S(P,Mامضا کند ،هیچ فرد دیگری امکان تولید ]) [M, S(P,Mرا نداشته باشد اگر گیرنده ]) [M, S(P,Mرا دریافت نماید ،باید بتواند اطمینان پیدا کند که فرستنده Pبوده است و دو نیازمندی دیگر اینکه: • غیرقابل تغییر باشد؛ • • امکان تغییر پیام پس از امضا و ارسال ،برای گیرنده و یا هر شخص دیگر وجود نداشته باشد غیرقابل استفاده مجدد باشد؛ • هرگونه پیام قبلی که دوباره برای گیرنده ارسال شده باشد ،قابل تشخیص باشد 7 H.M.Hassanzade, Hassanzade@Gmail.com امضای دیجیتال متقارن SENDER 1 S sends sealed M to Arbiter ARBITER 2 KS M Arbiter retrieves plaintext M from S M KR KS S RECIPIENT H.M.Hassanzade, Hassanzade@Gmail.com 3 M Arbiter seals [ Message received from Sender E(M,KS), Identify of Sender S, and copy of plaintext M ] and sends all to R 8 M امضای دیجیتال نامتقارن • Alice encrypts a document M with her private key APRI, thereby signing the document, e.g. E( APRI , M ). • Alice encrypts the message with Bob’s public key BPUB, and then sends the message C to Bob, e.g. C = E(BPUB , E( APRI , M ) ) • Bob decrypts the message using his private key BPRI and then Alice’s public key APUB, thereby verifying the signature, e.g. M = D(BPRI , D( APUB , M ) ) SENDER 1 APRI M H.M.Hassanzade, Hassanzade@Gmail.com RECIPIENT Encrypts message with BPUB and APRI and then send the message 2 M Decrypts message with BPRI and APUB in order to derive M. 9 BPUB امضای قرارداد:کاربرد • Trusted Third Party (TTP) as an Arbitrator: 1. Bill signs a copy of the contract and sends it to the TTP. 2. Ben signs a copy of the contract and sends it to the TTP. 3. The TTP announces when both signed contracts have arrived. 4. Ben signs two copies of the contract and sends them to Bill. 5. Bill signs both copies of the contract and, keeps one for himself, and sends the other to Ben. 6. Ben and Bill both inform the TTP that each have a copy of the contract signed by both of them. H.M.Hassanzade, Hassanzade@Gmail.com 10 7. The TTP destroys his two copies of the contract with only one signature each. کاربرد :امضای کورکورانه • امضا کننده نمی داند که چه چیزی را امضا کرده است Sent to Signer Remove Envelope Blinding Process Signature Signature Original Message • Envelope containing Message and Carbon paper Envelope containing Message and Carbon paper Original Message به کارگیری در پول الکترونیکی • • • • • هدف :ناشناس ماندن کسی که پول را خرج کرده است تولید شماره سلایر های 100رقمی توسط نرم افزار کیف پول مجازی اعالم نوع (ارزش) سکه از طرف مشتری به بانک امضای سکه توسط بانک با توجه به مبلغ آن ) E( KeyPRI-SK$1 , Serial# با هدف تسهیل در رمزگشایی سکه ،نوع کلید مورد استفاده به صورت متن ارائه می شود: ) Coin = Serial#, Key_Version, E( KeyPRI-$1 , Serial# 11 H.M.Hassanzade, Hassanzade@Gmail.com گواهی نامه ها ()CERTIFICATE • ما انسان ها همواره به دنبال ایجاد اعتماد و استفاده از آن در روابطمان هستیم • اعتماد به میزان توانایی افراد برای شناسایی و تصدیق هویت دیگران وابسته است • در سیستم های رمزنگاری مدرن امروزی ،کلید عمومی و هویت افراد به همراه یک گواهی نامه ارائه می شود ،که صحت اطالعات ارائه شده را تضمین می نماید • گواهی نامه ها را مراجع ذی صالح ( )CA: Certification Authoritiesاعطا می کنند ،که خود می توانند از مراجع دیگر گواهی نامه دریافت کرده باشند • گواهی نامه ها برای تولید و مدیریت کلیدهای رمزنگاری به کار می آیند Encrypted under University of Glamorgan’s Private Key Encrypted under HEFC’s Private Key Iain Sutherland Lecturer 71F1890ACDE45….. Name: Position: Public Key: University of Glam Employer 7897636361FA….. Name: Position: Public Key: Certificate for Iain Sutherland Chain of Certificates 12 H.M.Hassanzade, Hassanzade@Gmail.com H.M.Hassanzade, Hassanzade@Gmail.com 13 الگوریتم های رمزنگاری یک الگوریتم رمزنگاری ساده H.M.Hassanzade, Hassanzade@Gmail.com 14 * A SIMPLE ENCRYPTION/DECRYPTION ALGORITHM FOR NUMBERS کلیات روش • مبتنی بر یک آرایه 16تایی از اعداد • هر آرایه ،متشکل از 10عدد یک رقمی از 0تا ( 9بدون تکرار) • ترتیب اعداد در آرایه ها می تواند به صورت دلخواه باشد • رمزنگاری شامل دو مرحله: • مرحله نخست :جایگزینی هر عدد با موقعیت متناظر با آن در آرایه • مرحله دوم :جایگزینی اعداد جایگزین شده با کاراکترهای بی معنی 15 H.M.Hassanzade, Hassanzade@Gmail.com مثال • مرحله نخست Input number 3 2 8 8 2 7 1 0 9 H.M.Hassanzade, Hassanzade@Gmail.com 328827109 Array element 0123456789 1234567890 2345678901 3456789012 4567890123 5678901234 6789012345 7890123456 8901234567 9012345678 0123456789 1234567890 2345678901 3456789012 4567890123 5678901234 Output number 4 2 7 6 9 3 6 4 2 16 • Original Social Security Number: ادامه- مثال • مرحله دوم : با کاراکترهای متناظر با آن اعداد بر روی صفحه کلید یعنی9-0 • جایگزینی ارقام • 0 1 2 3 4 5 6 7 8 9 -> !@#$% &*() :خواهیم داشت • Original Social Security Number: 328827109 • Numerically Encrypted Number: 427693642 • "Garbage" Characters Encrypted Number: %#*&)$&%# 17 H.M.Hassanzade, Hassanzade@Gmail.com • RSA H.M.Hassanzade, Hassanzade@Gmail.com 18 MCGRAW-HILL COMPANIES, INC برگرفته از اسالیدهای الگوریتم رمزنگاری RSA • رایج ترین الگوریتم رمزنگاری کلید عمومی • مباحث پیش رو: • • • • انتخاب کلید رمزنگاری/رمزگشایی مثال مالحظات امنیتی RSA 19 H.M.Hassanzade, Hassanzade@Gmail.com انتخاب کلید:RSA 1. Choose two large prime numbers p, q. (e.g., 1024 bits each) 2. Compute n = pq, z = (p-1)(q-1) 3. Choose e (with e<n) that has no common factors with z. (e, z are “relatively prime”). 4. Choose d such that ed-1 is exactly divisible by z. (in other words: ed mod z = 1 ). H.M.Hassanzade, Hassanzade@Gmail.com 20 5. Public key is (n,e). Private key is (n,d). رمزگشایی/ رمزنگاری:RSA 0. Given (n,e) and (n,d) as computed above 1. To encrypt bit pattern, m, compute e e x = m mod n (i.e., remainder when m is divided by n) 2. To decrypt received bit pattern, c, compute d m = xd mod n (i.e., remainder when c is divided by n) H.M.Hassanzade, Hassanzade@Gmail.com 21 Magic m = (m e mod n) d mod n happens! x d m = (m e mod n) mod n چرا Useful number theory result: If p,q prime and n = pq, then: y x mod n = x :RSA y mod (p-1)(q-1) mod n e (m mod n) d mod n = medmod n = m ed mod (p-1)(q-1) mod n (using number theory result above) 1 = m mod n = m H.M.Hassanzade, Hassanzade@Gmail.com 22 (since we chose ed to be divisible by (p-1)(q-1) with remainder 1 ) مثال:RSA Bob chooses p=5, q=7. Then n=35, z=24. e=5 (so e, z relatively prime). d=29 (so ed-1 exactly divisible by z. decrypt: m me l 12 1524832 c 17 d c 481968572106750915091411825223071697 H.M.Hassanzade, Hassanzade@Gmail.com c = me mod n 17 m = cd mod n letter 12 l 23 encrypt: letter H.M.Hassanzade, Hassanzade@Gmail.com 24 در یک نگاه:RSA H.M.Hassanzade, Hassanzade@Gmail.com 25 پیچیدگی حمله:RSA مالحظات امنیتی:RSA 1. The number of bits for n should be at least 1024. This means that n should be around , or 309 decimal digits. 2. The two primes p and q must each be at least 512 bits. 3. The values of p and q should not be very close to each other. 4. Both p-1 and q-1 should have at least one large prime factor. 5. The ratio p/q should not be close to a rational number with a small enumerator or denominator. 6. The value of e should be 7. If the private key d is leaked, Bob must immediately change n as well as both e and d. It has been proven that knowledge of n and one pair (e,d) can lead to the discovery of another pairs of the same modulus. H.M.Hassanzade, Hassanzade@Gmail.com 26 8. Short Message must be padded DES H.M.Hassanzade, Hassanzade@Gmail.com 27 MCGRAW-HILL COMPANIES, INC برگرفته از اسالیدهای DES Data Encryption Standard • • رمزنگاری با کلید متقارن H.M.Hassanzade, Hassanzade@Gmail.com 28 )• رمزنگاری بلوکی (قطعه ای H.M.Hassanzade, Hassanzade@Gmail.com 29 ساختار کلی:DES تولید کلید:DES H.M.Hassanzade, Hassanzade@Gmail.com 30 Compression P-box H.M.Hassanzade, Hassanzade@Gmail.com 31 جایگشت ابتدایی و پایانی:DES H.M.Hassanzade, Hassanzade@Gmail.com 32 مرحله میانی16 یک مرحله از:DES H.M.Hassanzade, Hassanzade@Gmail.com 33 F تابع:DES H.M.Hassanzade, Hassanzade@Gmail.com 34 P جعبه بسط:DES H.M.Hassanzade, Hassanzade@Gmail.com 35 S جعبه تقلیل:DES H.M.Hassanzade, Hassanzade@Gmail.com 36 رمزگشایی:DES HASH برگرفته از اسالیدهای پرداخت الکترونیک – دانشگاه صنعتی امیرکبیر 37 H.M.Hassanzade, Hassanzade@Gmail.com HASH • نگاشت پیغام با طول متغیر به پیغامی با طول ثابت 38 H.M.Hassanzade, Hassanzade@Gmail.com اصول:HASH Cryptographic checksum h: AB: 1. For any x A, h(x) is easy to compute 2. For any y B, it is computationally infeasible to find x A such that h(x) = y 3. It is computationally infeasible to find two inputs x, x A such that x ≠ x and h(x) = h(x) H.M.Hassanzade, Hassanzade@Gmail.com 39 – Alternate form (stronger): Given any x A, it is computationally infeasible to find a different x A such that h(x) = h(x). )COLLISION( تداخل:HASH If x ≠ x and h(x) = h(x), x and x are a collision H.M.Hassanzade, Hassanzade@Gmail.com 40 • Pigeonhole principle: if there are n containers for n+1 objects, then at least one container will have 2 objects in it. • Application: if there are 32 files and 8 possible cryptographic checksum values, at least one value corresponds to at least 4 files H.M.Hassanzade, Hassanzade@Gmail.com 41 پایان