470 likes | 794 Views
امضاهاي ديجيتال. محمد بهشتي آتشگاه m.beheshti.a@gmail.com. كارگاه رمزنگاري، دانشگاه گيلان، دي ماه 1390. مقدمه رمزنگاري تعريف امضاي ديجيتال دو طرح امضاي ديجيتال معروف طرح RSA طرح DSA انواع ديگري از امضاهاي ديجيتال و چند نمونه از كاربرد ملزومات كلي امنيتي مرور كلي. محتوا.
E N D
امضاهاي ديجيتال محمد بهشتي آتشگاه m.beheshti.a@gmail.com كارگاه رمزنگاري، دانشگاه گيلان، دي ماه 1390
مقدمه رمزنگاري • تعريف امضاي ديجيتال • دو طرح امضاي ديجيتال معروف • طرح RSA • طرح DSA • انواع ديگري از امضاهاي ديجيتال و چند نمونه از كاربرد • ملزومات كلي امنيتي • مرور كلي محتوا
مقدمه رمزنگاري • تعريف امضاي ديجيتال • دو طرح امضاي ديجيتال معروف • طرح RSA • طرح DSA • انواع ديگري از امضاهاي ديجيتال و چند نمونه از كاربرد • ملزومات كلي امنيتي • مرور كلي
رمزنگاري: هنر و علم جلوگيري از فعاليتهاي غيرمجاز و غير قانوني كاربران بر روي اطلاعات، منابع و خدمات وابسته به شبكه. • تبديل رمزنگاشتي: تبديل داده ورودي به داده خروجي با استفاده از يك كليد رمزنگاشتي. • سيستم رمز: زوج تبديل پيشرو و معكوس رمزنگاشتي. مقدمه رمزنگاري دانشگاه گيلان، زمستان 90
Receiver Sender Forward Cryptographic Transformation Inverse Cryptographic Transformation Input data Output data Key Key يك سيستم رمز Input data دانشگاه گيلان، زمستان 90
انواع سيستمهاي رمز: • سيستم رمز كليد متقارن- يك كليد خصوصي مابين دو طرف ارتباط به اشتراك گذاشته ميشود كه اين كليد بايد توسط آنها به صورت مخفي نگه داشته شود. • سيستم رمز كليد عمومي- فرستنده و گيرنده كليد يكساني را به اشتراك نميگذارند؛ بلكه يك كليد عمومي و يك كليد خصوصي دارند كه اين دو كليد به هم مرتبط ميباشند. دانشگاه گيلان، زمستان 90
Sender Receiver Output data Input data Input data Forward Cryptographic Transformation Inverse Cryptographic Transformation Key Key Share private key سيستم رمز متقارن (كليد خصوصي): A Private Key Cryptosystem دانشگاه گيلان، زمستان 90
سيستم رمز نامتقارن (كليد عمومي): Sender Receiver Output data Input data Input data Forward Cryptographic Transformation Inverse Cryptographic Transformation 1st Key 2nd Key Do not share the same key information and one key may be public A Public Key Cryptosystem دانشگاه گيلان، زمستان 90
Message authentication Entity authentication Cryptographic goals Confidentiality Data integrity Authentication Non-repudiation • Symmetric-key • ciphers: • Block ciphers • Stream ciphers • Public-key • ciphers Arbitrary length hash functions Message Authentication codes (MACs) Digital signatures Digital signatures Authentication primitives MACs, Digital signatures دانشگاه گيلان، زمستان 90
توابع چكيدهساز تعريف- تابع چكيدهساز تابعي رياضي است كه به طور كلي سه شرط زير را برآورده مينمايد: 1. ورودي با طول دلخواه را به خروجي با طول ثابت تبديل مينمايد. 2. يكطرفه است. 3. تصادم مقاوم است- يعني يافتن دو ورودي مجزا كه منجر به خروجي يكساني شود، سخت است. ورودي خروجي Digest دانشگاه گيلان، زمستان 90
عملکردHashمشابه اثرانگشت يک شخص میباشد. • توابع چكيدهساز ميتوانند يكپارچگي داده را تأمين نمايند. (اگر ما اثر انگشت دادهاي را گرفته و در جايي نگهداريم، ميتوانيم در فواصل زماني مختلف با تكرار اين عمل و مقايسه با اثر انگشت قبلي از حفظ يا عدم يكپارچگي داده اطمينان حاصل نماييم) • كاربردها: امضاهاي ديجيتال، ذخيرهسازي كلمات عبور، پروتكلهاي رمزنگاشتي و غيره. دانشگاه گيلان، زمستان 90
توابع چكيدهساز و امضاهاي ديجيتال به طور كلي استفاده از تابع چكيدهساز در امضاهاي ديجيتال به دو دليل صورت ميپذيرد: • افزايش كارآيي و سرعت طرحهاي امضاي ديجيتال. • تضمين يكپارچگي پيام. ~~~~ ~~~~ ~~~~ DigitalSignature DigitalSignature دانشگاه گيلان، زمستان 90
مقدمه رمزنگاري • تعريف امضاي ديجيتال • دو طرح امضاي ديجيتال معروف • طرح RSA • طرح DSA • انواع ديگري از امضاهاي ديجيتال و چند نمونه از كاربرد • ملزومات كلي امنيتي • مرور كلي
امضاي ديجيتال دانشگاه گيلان، زمستان 90
طرح امضاي ديجيتال روشي براي امضاي پيامي است كه به صورت الكترونيكي ذخيره شده است. در اين حالت پيام امضا شده در سرتاسر يك شبكه كامپيوتري قابل انتقال است. همانند امضاهاي دستي مرسوم، امضاهاي ديجيتال نيز بر روي پيام يا سند استفاده ميشوند تا فرد امضاكننده مسئوليت آن سند را بر عهده گيرد. دانشگاه گيلان، زمستان 90
ويژگيهاي امضاهاي ديجيتال: • مشابه امضاهاي دستي، امضاهاي ديجيتال نيز بايد شرايط زير را برآورده نمايند: • بايد غيرقابل جعل باشند. • گيرندگان بايد بتوانند امضا را تأييد اعتبار نمايند. • امضاكنندگان نبايد قادر باشند تا بعداً امضايشان را انكار نمايند. • به علاوه، امضاهاي ديجيتال نميتوانند به صورت ثابت باشند؛ بلكه بايد تابعي از سند (متن) ورودي باشند كه قرار است امضا شود. دانشگاه گيلان، زمستان 90
نحوه الحاق و اتصال امضا به پيام. تفاوتها تفاوت امضاي ديجيتال با امضاي دستي: نحوه تأييد اعتبار امضا. متني كه با استفاده از امضاي ديجيتال امضا شده است، با كپي آن يكسان است. دانشگاه گيلان، زمستان 90
شماتيك نحوه الحاق و اتصال امضا به پيام. message 1 hash function message 3 signature hash 2 signature Signature algorithm signature key دانشگاه گيلان، زمستان 90
مقدمه رمزنگاري • تعريف امضاي ديجيتال • دو طرح امضاي ديجيتال معروف • طرح RSA • طرح DSA • انواع ديگري از امضاهاي ديجيتال و چند نمونه از كاربرد • ملزومات كلي امنيتي • مرور كلي
مكانيزم پايه براي طرح هاي امضاي ديجيتال: به طور كلي هر طرح امضاي ديجيتال شامل اين سه الگوريتم ميباشد: طرحهاي امضاي ديجيتال معروف • يك الگوريتم توليد كليد براي توليد زوج كليد عمومي و خصوصي. • يك الگوريتم امضا كه متن + كليد خصوصي را به عنوان ورودي گرفته و يك امضا بر روي متن را به عنوان خروجي توليد مينمايد. • يك الگوريتم تأييد امضا كه امضا + كليد عمومي را به عنوان ورودي گرفته و برحسب اعتبار امضاي انجام شده، خروجي اعتبار يا عدم اعتبار امضا را ميدهد. دانشگاه گيلان، زمستان 90
طرح امضاي RSA: اين طرح امضاي ديجيتال از سيستم رمزنگاري كليد عمومي RSAبه وجود آمد. اين طرح بر سختي مسئله تجزيه اعداد صحيح (IFP) استوار است. • الگوريتم توليد كليد RSA: امضاكننده دو عدد اول و را انتخاب كرده و و را محاسبه ميكند. او همچنين عدد تصادفي را انتخاب و عدد را به صورت محاسبه مي نمايد. در نهايت زوج كليد عمومي و كليد خصوصي امضاي RSA ميباشند. دانشگاه گيلان، زمستان 90
الگوريتم توليد امضاي RSA: قرار است تا متن امضا گردد. بدين منظور شخص از الگوريتم زير استفاده كرده و امضاي را توليد مينمايد. • الگوريتم تأييد امضاي RSA: قرار است تا امضاي روي متن تعيين گردد. بدين منظور شخص از الگوريتم زير استفاده ميكند. اگر رابطه فوق برقرار بود، امضا معتبر است و در غير اين صورت امضا نامعتبر خواهد بود. دانشگاه گيلان، زمستان 90
مثالي از امضاي RSA: فرض كنيد كه شخص A قصد دارد تا متني همانند را امضا نموده و براي شخص B ارسال نمايد. (توليد كليد) بدين منظور ابتدا كليدهاي خود را توليد مي نمايد. A: (توليد امضا) شخص Aبا استفاده از كليد خصوصي خود، متن را امضا ميكند. سپس شخص A متن را به همراه امضاي به شخصBارسال مينمايد. دانشگاه گيلان، زمستان 90
(تأييد امضا) شخص B رابطه زير را بررسي ميكند. به علت اينكه رابطه فوق برقرار است، شخص B امضاي را به عنوان امضاي معتبر روي متن ميپذيرد. اگر رابطه فوق برقرار نميشد، شخص Bامضا را رد مينمود. توجه نماييد كه در طرح امضاي RSA، تابع چكيدهسازي استفاده نميشود و به همين علت امضاي RSA بسيار كندتر از امضاهايي عمل مينمايد كه از توابع چكيدهساز استفاده ميبرند. دانشگاه گيلان، زمستان 90
digital signature scheme Public key encryption تنها كسي كه كليد خصوصي را دارد مي تواند متن را امضا نمايد. هر” شخصي “مي تواند يك متن را رمز نمايد. هر ”شخصي “ميتواند تأييد نمايد كه امضا معتبر است يا نه. تنها كسي كه كليد خصوصي را دارد ميتواند متن را رمزگشايي نمايد. نكته اول) اگر به طرح رمزنگاري و امضاي ديجيتال RSAدقت نماييد خواهيد ديد كه دقيقاً عكس يكديگر عمل ميكنند. اين خاصيت تمامي سيستمهاي رمزنگاري كليد عمومي است. دو نكته در مورد امضاي RSA دانشگاه گيلان، زمستان 90
نكته دوم) امروزه طرح امضاي RSA، به شيوهاي كلاسيكي كه مطرح شد، استفاده نمي شود. چرا كه از يك طرف بسيار كند است و از طرف ديگر نيز، به علت عدم استفاده از توابع چكيدهساز براي امضاي پيامهاي طولاني مناسب نميباشد. امروزه دو نسخه بهبود يافته امضاي RSA كه توسط PKCS#1 استانداردسازي شده است، مورد استفاده قرار ميگيرد. RSASSA-PSS ,RSA-PKCSv1_5 دانشگاه گيلان، زمستان 90
طرح امضاي DSA: اين طرح امضاي ديجيتال از سيستم رمزنگاري كليد عمومي ElGamal به وجود آمد. اين طرح بر سختي مسئله حل لگاريتم گسسته (DLP) استوار است. اين طرح از تابع چكيده ساز SHA استفاده كرده و خلاصه پيام را را امضا مينمايد. به دليل استفاده از تابع چكيدهساز، كارآيي اين طرح نسبت به طرح امضاي RSA بيشتر است. دانشگاه گيلان، زمستان 90
پارامترهاي دامنه p يك عدد اول 1024- بيتي مي باشد. q يك عدد اول 160- بيتي است كه را عاد ميكند. g مولد گروه است. كليد خصوصي x كليد عمومي y انتخاب عدد تصادفي (در هر بار امضا) k يك عدد تصادفي يا شبه تصادفي كه است. • توليد كليد و پارامترهاي دامنه امضاي DSA: يك عدد تصادفي يا شبه تصادفي كه است. دانشگاه گيلان، زمستان 90
توليد امضاي DSA تأييد امضاي DSA • توليد امضاي DSA: • تأييد امضاي DSA: دانشگاه گيلان، زمستان 90
مقدمه رمزنگاري • تعريف امضاي ديجيتال • دو طرح امضاي ديجيتال معروف • طرح RSA • طرح DSA • انواع ديگري از امضاهاي ديجيتال و چند نمونه از كاربرد • ملزومات كلي امنيتي • مرور كلي
امضاي يكبار مصرف: • اين طرح امضاي ديجيتال براي امضاي حداكثر يك پيام به كار مي رود و در صورت تكرار استفاده، قابل جعل خواهد بود. برخي ديگر از طرحهاي امضاي ديجيتال One-Time Signature • طرح امضاي يكبار مصرف داراي امنيت قابل اثبات ميباشد. • در اين طرح نياز است تا يك كليد عمومي جديد در هر بار توليد امضا مورد استفاده قرار گيرد. پس بايد الگوريتم كارآيي براي چنين منظوري وجود داشته باشد. دانشگاه گيلان، زمستان 90
امضاي كور: • تعريف. شخص A بخشي از اطلاعات را به B ميفرستد. B آن را امضا كرده و امضا را به A ارسال ميكند. از روي اين امضا، A ميتواند امضاي B را روي متن قبلي مثل m محاسبه نمايد. در انتهاي پروتكل، B نه متن mو نه امضاي مربوط به آن را ميداند. • در حقيقت امضاي كور، امضا نمودن بدون فاششدن پيام است. • كاربرد: تجارت الكترونيك (e-cash)، رأيگيري الكترونيك و غيره. Blind Signature دانشگاه گيلان، زمستان 90
امضاي غيرقابل انكار: • تعريف. امضاي غيرقابل انكار امضايي است كه در فاز تأييد آن، نياز به همكاري امضاكننده ميباشد. • در اين حالت صادركننده امضا ديگر نميتواند امضاي خود را انكار نمايد. • Chaum-van Antwerpen (1989) Undeniable Signature دانشگاه گيلان، زمستان 90
امضاي وكالتي: Proxy Signature • تعريف. در يك طرح امضاي وكالتي، شخص A وكالت خود (قابليت امضا) را به شخصي مثل B ميدهد و بنابراين شخص B قادر ميشود تا پيامها را از طرف موكل خود امضا نمايد. Manager Secretary delegation Proxy signer Original signer • كاربرد: تجارت الكترونيك (e-cash)، آژانسهاي سيار و غيره. دانشگاه گيلان، زمستان 90
Smart card Signed Request Personal information • پرداختهاي الكترونيك: برخي از كاربردهاي امضاي ديجيتال Broadcaster User network Signing key Verification key دانشگاه گيلان، زمستان 90
پروتكل SSL: براي امضاي ديجيتال و بحث تبادل كليد. دانشگاه گيلان، زمستان 90
گواهي X.509: • استاندارد X.509 توسط موسسه ITUاستانداردسازي شده و در حال حاضر توسط زيرساختهاي كليد عمومي و شبكههاي كامپيوتري استفاده ميشود. • گواهي X.509 از امضاي ديجيتال RSA 1024- بيتي بهره ميبرد. دانشگاه گيلان، زمستان 90
مقدمه رمزنگاري • تعريف امضاي ديجيتال • دو طرح امضاي ديجيتال معروف • طرح RSA • طرح DSA • انواع ديگري از امضاهاي ديجيتال و چند نمونه از كاربرد • ملزومات كلي امنيتي • مرور كلي
ملزومات كلي امنيتي طرحهاي امضاي ديجيتال را ميتوان از دو نقطه نظر زير بررسي نمود: ملزومات امنيتي امضاهاي ديجيتال • نوع حملات • برحسب توانايي مهاجم و ابزاري كه براي حصول به نتيجه به كار ميبرد. • نوع جعل • برحسب خروجي حمله و نوع جعلي كه در نهايت حاصل ميشود. هدف از اعمال حملات به يك طرح امضاي ديجيتال يافتن يك امضاي جعلي جديد است كه توسط كليد خصوصي امضاكننده صادر نشده است. دانشگاه گيلان، زمستان 90
انواع حملات • حمله كليد تنها: مهاجم فقط كليد عمومي امضاكننده را در اختيار دارد. • حمله متن آشكار: مهاجم فهرستي از زوجهاي متن/ امضا را در اختيار دارد. • حمله متن انتخابي: مهاجم ميتواند امضايي را روي هر متني از امضاكننده درخواست نمايد. دانشگاه گيلان، زمستان 90
انواع جعل • جعل انتخابي: مهاجم قادر باشد تا با يك احتمال ناچيز، يك امضاي معتبر را روي هر متن انتخاب شده ديگر توليد نمايد. به عبارت ديگر اگر متن m به مهاجم داده شود، او بتواند امضايSرا روي آن طوري توليد نمايد كه verk (m,S)=true. • جعل وجودي: مهاجم بتواند تا يك امضاي معتبر را روي حداقل يك پيام توليد نمايد. به عبارت ديگر مهاجم بتواند زوج متن/ امضاي (m,S) را طوري توليد نمايد كه verk (m,S)=true. دانشگاه گيلان، زمستان 90
مقدمه رمزنگاري • تعريف امضاي ديجيتال • دو طرح امضاي ديجيتال معروف • طرح RSA • طرح DSA • انواع ديگري از امضاهاي ديجيتال و چند نمونه از كاربرد • ملزومات كلي امنيتي • مرور كلي
در اين ارائه مطالب زير بيان شد: • مقدمه رمزنگاري و توابع چكيدهساز • تعريف امضاهاي ديجيتال • معرفي طرح هاي امضاي RSA و DSA • برخي از انواع ديگر امضاهاي ديجيتال و چند نمونه از كاربرد امضاها • ملزومات كلي امنيتي امضاهاي ديجيتال مرور كلي دانشگاه گيلان، زمستان 90
سوال؟ دانشگاه گيلان، زمستان 90
با تشكر از توجه شما! دانشگاه گيلان، زمستان 90