من به دنبال TLS نگاه کردم و متوجه شدم که مشتری لیستی از سوئیت های پشتیبانی شده را ارسال می کند و سرور یک مجموعه رمز را انتخاب می کند. سرور هرگز لیستی از سوئیت های پشتیبانی شده را ارسال نمی کند. چگونه یک مشتری مانند SSLLabs می داند که کد های سری که سرور پشتیبانی می کند؟ همچنین، متوجه شدم SSLLabs فقط یک درخواست را به سرور ارسال می کند.
طول کلید بزرگتر از اندازه بلوک
احراز هویت – اگر ما فقط nonce سرور و نه سرور nonce استفاده کنیم، کدام یک از بردارها حمله می شود؟
همانطور که همه ما می دانیم، nonce برای جلوگیری از حمله مجدد مورد نیاز است. هرچند که من در مورد nonce خواندم، می بینم که مشتری همیشه از سرور و می خواهد امنیت بیشتری را بهبود ببخشد، همچنین میتواند مشتری خود را (cnonce) اضافه کند.
درست مثل این نمودار:
این طرح یک سربار اضافی به سرور را اضافه می کند؛ و من سعی می کنم شکل بگیرد که بردارهای حمله ممکن خواهد شد، اگر ما فقط از nonce client استفاده کنیم و در سرور مطمئن باشیم که cnonces ها هرگز استفاده مجدد نمی شوند (برای اجتناب از ذخیره سازی تمام موجودات مورد استفاده، بدیهی است که ما فقط می توانیم از آن استفاده کنیم هر cnonce بعدی برای یک کلید API داده شده بزرگتر از قبلی است و فقط آخرین کلید برای کلید API داده شده را ذخیره می کند.
تا کنون موفق به پیدا کردن هر بردار جدیدی از حمله نیستم: با اطمینان از اینکه cnonces هرگز نمی تواند دوباره استفاده شود برای هر کلید API، حملات بازی را کاملا حذف می کنیم. آیا چیزی از دست رفته؟
