بخشی از مقاله
تحلیل یک طرح جدید امضارمز
چکیده: امضارمز، روشی براي ترکیب رمزنگاري و امضاي دیجیتـال در یک گام منطقی است و میتواند بار محاسـباتی و سـربار ارتبـاطی را در مقایسه با طرحهاي امضا-سپس-رمـز کـاهش دهـد. تـاکنون طرحهـاي امضارمز متعددي پیشنهاد شده است که هریک از آنهـا بـار محاسـباتی، سربار ارتباطی و سرویسهاي امنیتی مختلفی را ارائه مینمایند و بسیاري از آنها داراي نقاط ضعف و مشکلات امنیتی خاص خود مـی باشـند. ایـن مقاله به تحلیل یک طرح امضارمز مبتنی بر خم بیـضوي -کـه در صـدد فراهم نمودن ویژگیهاي محرمانگی، صحت، جعلناپذیري، انکارناپـذیري، امنیت پیشرو در محرمانگی پیام و تایید همگانی مـستقیم بـوده اسـت-
میپردازد. در این مقاله نشان داده مـیشـود کـه طـرح امـضارمز مـورد بررسی، علاوه بر فقدان ویژگیهاي جعل ناپـذیري و انکارناپـذیري، داراي تعداد دیگري نقاط ضعف بوده و در برابر تعدادي از حملات آسـیبپـذیر میباشد تا حـدي کـه در آن، اسـتخراج کلیـد خـصوصی انجـام دهنـده امضارمز (و در حالتی کلید خصوصی بازگشاینده امضارمز) نیز امکانپذیر میباشد.
واژه هاي کلیدي: جعل ناپذیري، انکارناپذیري، امنیت پیشرو، تاییـد همگانی، حمله UKS، مقاومت در برابر افشاي پارامتر تصادفی، تـصدیق کلید عمومی، خم بیضوي.
-1 مقدمه
رمزنگاري و امضاي دیجیتال، دو ابـزار اصـلی و بنیـادین بـراي برقـراري امنیت دادهها میباشند و در بسیاري موارد، بـه صـورت همزمـان مـورد استفاده قرار میگیرند. به طور سنتی در مواردي که احتیاج به اسـتفاده همزمان از رمزنگاري و امضاي دیجیتال بوده است، از طرحهـاي موسـوم به امضا-سپس-رمز استفاده مـیشـود. بـدین ترتیـب کـه ابتـدا امـضاي دیجیتال متن اصلی با استفاده از کلید خصوصی فرستنده تولید می شود.
سپس یک کلید جلسه تصادفی تولید میشـود و مـتن اصـلی و امـضاي دیجیتال به صورت توام با استفاده از کلید جلسه و توسط یک الگـوریتم رمز متقارن رمز میشوند. از سوي دیگر، کلید جلـسه بـا کلیـد عمـومی گیرنده و توسط یک الگوریتم رمزنگاري نامتقارن رمز میشود و ایـن دو به طور همزمان براي گیرنده ارسال میشوند.
مفهوم امضارمز ابتدا توسط Zheng در سـال 1997 پیـشنهاد شـد
.[1] امضا رمز با ترکیب توابع رمزنگاري و امضاي دیجیتال در یـک گـام منطقی تلاش مینماید تا هزینه محاسبات و سـربار ارتبـاطی را کـاهش دهد. به عنوان نمونه، در طرح امضا رمز دیگري که توسط Zheng و بـر مبناي استفاده از خمهاي بیضوي پیشنهاد شـد [2]، بـار محاسـباتی در حدود %58 و تعداد بیتهاي لازم براي ارسال در حـدود %40 نـسبت بـه طرحهاي امضا-سپس-رمز مبتنی بر خم بیضوي کاهش یافته است.
تاکنون طرحهاي امضارمز متعـددي پیـشنهاد شـده اسـت. بـا ایـن وجود، هریک از آنها سرویسهاي امنیتی، سربار ارتباطی و بار محاسـباتی متفاوتی را ارائه مـینماینـد و بـسیاري از آنهـا داراي اشـکالات امنیتـی فراوان میباشند که از دید طراحان آن بـه دور مانـده اسـت. هـر طـرح امضارمز میبایست واجد ویژگیهاي درستی، کـارایی و امنیـت باشـد. در واقع امضارمز می بایـست بـه طـور همزمـان ویژگیهـاي امنیتـی امـضاي دیجیتال و رمزنگاري را فراهم آورد. ایـن ویژگیهـا در اصـل عبارتنـد از:
محرمانگی، جعلناپذیري، انکارناپذیري و صحت. در کنـار ایـن ویژگیهـا، برخی طرحها ویژگیهایی نظیر قابلیت تایید همگانی و امنیت پیـشرو در محرمانگی پیام را نیز فراهم میآورند. تایید همگانی یک ویژگی امنیتـی نیست و در برخی کاربردها حتی ضرورتی هـم نـدارد. در عـوض امنیـت پیشرو ویژگی امنیتی مطلوبی اسـت کـه در طرحهـاي امـضارمز عـادي وجود ندارد و لذا پـس از لـو رفـتن کلیـد خـصوصی فرسـتنده، تمـامی امضارمزهاي مربوط به زمان قبل از افشاي کلیـد، دیگـر قابـل اطمینـان نخواهند بود. برعکس در طرحهاي واجد ایـن ویژگـی، حتـی اگـر کلیـد خصوصی فرستنده (انجام دهنده امضارمز) نیز لو برود، پیامهاي امضارمز شده مربوط به قبل از افشاي کلید قابل رمزگـشایی نبـوده و محرمـانگی خود را حفظ خواهند نمود. از آنجا که با گسترش روز افزون پیادهسـازي مکانیزمهاي امنیتی بر روي وسایلی مانند تلفنهاي همراه، تهدید افـشاي کلید خصوصی قوت و شدت بیـشتري مـییابـد، بهتـر اسـت طرحهـاي امضارمز مورد استفاده، واجد ویژگی امنیت پیشرو نیز باشند.
در این مقاله، به تحلیل امنیتی طرح جدید امضارمز ارائـه شـده در
[3] میپردازیم و نشان میدهـیم کـه ایـن طـرح داراي نقـاط ضـعف و حملات متعددي بر روي آن قابل انجام میباشد. در بخش 2 بـه معرفـی
طرح امضارمز مورد بررسی مـیپـردازیم. تحلیـل امنیتـی ایـن طـرح در بخش 3 صورت میپذیرد و بخش 4 به نتیجهگیري میپردازد.
-2 معرفی طرح امضارمز مورد بحث
طرح جدید امضارمز [3]، در واقع تغییر یافته طرح امضارمز ارائه شده در [4] است. از آنجا که طراحان این دو طرح نامی را براي طرحهاي پیشنهادي خود انتخاب ننموده اند، در این مقاله به منظور اختصار، کلیه ارجاعات به طرح امضارمز [4] با نام طرح "الف" و کلیه ارجاعات به طرح امضارمز [3] با نام طرح "ب" انجام خواهد پذیرفت. شمایی از طرحهاي "الف" و "ب" در شکلهاي (1) و (2) نشان داده شده و نمادهاي مورد استفاده در آنها در شکل (3) توضیح داده شدهاند. طرح
"ب" در واقع تلاش نموده است تا ویژگی امنیت پیشروي طرح "الف"
را با ایجاد تغییراتی در آن ارتقا بخشیده و خاصیت تایید همگانی مستقیم را در آن برقرار سازد. از آنجا که تحلیل طرح امضارمز "الف"
قبلا در [5] مورد توجه قرار گرفته است و از آنجا که طرح امضارمز
"ب"، طرح جدیدتري است که تاکنون مورد بررسی و تحلیل قرار نگرفته است، در این مقاله صرفا تحلیل امنیتی طرح "ب" مورد توجه قرار میگیرد. در ادامه این مقاله، آلیس فرستنده و انجام دهنده امضارمز، باب گیرنده و بازگشاینده امضارمز و ایو1، حملهکننده
(شنودگر) غیر فعال است.
شکل - 1 طرح امضارمز پیشنهاد شده در [4] (طرح "الف")
شکل - 2 طرح امضارمز پیشنهاد شده در [3] (طرح "ب")
شکل - 3 توضیح نمادهاي مورد استفاده
-3 تحلیل طرح امضارمز مورد بحث
در [3] بیان شده اسـت کـه طـرح "ب"، ویژگیهـاي متعـددي از قبیـل محرمــانگی، صــحت، جعــلناپــذیري، انکارناپــذیري، امنیــت پیــشرو در محرمانگی پیام و تایید همگانی مـستقیم را فـراهم مـیآورد. همچنـین توضیح داده شده است که طـرح "الـف" واجـد ویژگـی امنیـت پیـشرو نمیباشد چرا که در صورت افشاي کلید خصوصی آلیس، ایـو مـیتوانـد این کلید را در اختیار باب قرار دهد و از وي بخواهد که به کمـک کلیـد خصوصی خود و کلید لو رفته آلیس، عدد تصادفی r را بـراي یـک پیـام امضارمز شده خاص حساب نموده و آن را در اختیار ایو قرار دهد تـا ایـو نیز بتواند قادر به رمزگشایی آن پیام بخصوص باشد. چنین سناریویی در
[3]، "حمله تبانی"دانسته شده و تلاش شده است تا با افزودن دو جمع پیمانهاي و یک بار (یا آنگونه که در [3] تصریح شده، دو بار) اسـتفاده از تابع درهمساز بر بار محاسباتی و همچنـین افـزودن انتقـال یـک نقطـه اضافی (نقطه P شامل دو مولفه x و (y بر سربار ارتباطی طـرح "الـف"،
از حمله فرضی بیان شده جلوگیري شود. در این خصوص لازم بـه ذکـر است که هرچند در فرض انجام رویه موسوم به "حمله تبـانی"، تعریـف امنیت پیشرو در محرمانگی پیام نقض خواهد شد، ولـی در عمـل انجـام چنین اقدامی منطقی به نظر نمیرسد؛ چرا که در فرض ضرورت اطـلاع ایو از محتویات یک پیام امضارمز شده خاص، ایـو بـه جـاي آنکـه کلیـد خصوصی افشاشده آلیس را در اختیار باب قرار دهد و از وي بخواهد کـه به کمک کلید خصوصی خود و انجام محاسبات خاصی، عدد تـصادفی r
مورد استفاده در آن امضارمز بخصوص را براي ایو محاسبه و ارسال کنـد تا با استفاده از این r و کلید خصوصی افشا شده آلیس، ایو نیز قـادر بـه رمزگشایی پیامی که آلیس براي باب آن هم در یک جلسه خاص ارسال نموده است باشد، میتواند به راحتی از باب درخواست کند که خود پیام موردنظر را پس از رمزگشایی، براي ایو ارسال نماید؛ امري کـه از حیـث منطقی و عملی بودن، هم مرتبه با "حملـه تبـانی" اسـت؛ ضـمن آنکـه قبول و انجام آن، بار محاسباتی و زحمت کمتري را نیز براي باب در پی خواهد داشت. در ادامه به اختصار، بـه بررسـی تعـدادي از نقـاط ضـعف طرح امضارمز "ب" میپردازیم کـه ایـن طـرح را در معـرض حمـلات و آسیبپذیریهاي امنیتی مختلف قرار میدهند.
-1 علیرغم اینکه ویژگی جعل ناپذیري1 به عنوان یکـی از اساسـیتـرین ویژگیهاي امضارمز، در [3] به عنوان یکی از ویژگیهـاي طـرح امـضارمز
"ب" ذکر شده است، طرح "ب" فاقد این ویژگی امنیتی اساسی است و جعل امضارمز به راحتی در آن امکان پذیر میباشد. در واقع براي جعـل امضاي معتبر آلیس، حمله کننده بدین صورت عمل خواهد کـرد: اعـداد تــصادفی r, s′∈[1, n −1] را انتخــاب نمــوده، ( R rG (r1 , r2 و
K rU B (k,l) را تولید مینماید. سپس متن مورد نظر خود را بـه صورت ( C Ek (M رمز نموده، h H (C || r1 ) را تولید مینمایـد.
ســپس نقطــه P را بــه صــورت P U A − s′G را بدســت آورده، s s′ h را محاسبه نموده و در نهایـت (C, R, s, P) را بـراي بـاب ارسال خواهد نمود. باب نیز بازگشایی امضارمز و تایید آن را با موفقیـت به پایان خواهد رساند و امضارمز دریافتی را از آلیس خواهد دانست، چرا که s′ و P ارسالی از طرف حمله کننده در رابطه تایید امضارمز یعنی
s′G P U A صدق مینمایند! بدین ترتیب طرح "ب" فاقد ویژگـی جعل ناپذیري و بنابراین فاقد ویژگی انکارناپذیري خواهد بود که هـر دو از مهمترین ویژگیهاي امنیتی امـضاي دیجیتـال و امـضارمز مـیباشـند.
بنابراین در صورت استفاده از طرح "ب"، هر کسی خواهد توانست به نام دیگران امضارمز معتبـر تولیـد نمایـد (نقـض جعـل ناپـذیري) و کـسی نمیتواند اثبات نماید که فقط شخص دارنده کلید خصوصی متنـاظر بـا کلیــد عمــومی گــواهی شــده، امــضارمز را تهیــه نمــوده اســت (نقــض انکارناپذیري).
-2 در طرح "ب"، امنیت کلیـد خـصوصی بلنـد مـدت2 انجـام دهنـده امضارمز وابسته به امنیت کلید خصوصی زودگذر3 مورد استفاده اسـت و با فاش شدن آن به کلـی افـشا خواهـد شـد. توضـیح آنکـه در توصـیف پروتکلهاي مبادله کلید مبتنی بر کلید عمومی، معمولا از دو مفهوم کلید عمومی/خصوصی بلند مدت یا ایستا4 و کلیـد عمـومی/خـصوصی کوتـاه مدت5 یا زودگذر استفاده مـیشـود 6] و .[7 بـه عنـوان مثـال در طـرح
"ب"، d A / U A ، کلید عمومی/ خصوصی بلنـد مـدت آلـیس اسـت، در حالی که r همانند یک کلید خصوصی زودگذر و R همانند کلید عمومی زودگذر متناظر با r رفتار میکند. به عبارتی، عدد تصادفی هماننـد یـک کلید خصوصی زودگذر رفتار می نماید. در چنین سیستمهایی هـر کـاربر عملا دو زوج کلید عمومی/خصوصی دارد: زوج کلید درازمدت -که بـراي آن گواهینامه دیجیتالی اخذ شده است- و زوج کلید زودگذر -کـه خـود کاربر به طور موقت براي خود تولید مینماید. فلسفه وجودي کلیـدهاي
عمومی/خصوصی زودگذر آن است که به عنوان پارامترهاي موقتی عمل نموده و در جهت افزایش امنیت به کارگیري کلیدهاي عمومی/خصوصی درازمدت رفتار نمایند. عبارت "مقاومت در برابر افشاي کلید زودگـذر"6
-که در منابع رمزنگاري کلید عمومی به کرات مورد استفاده قرار گرفتـه است- بدین معنا است که سیستم باید در برابر افشاي کلیـد یـا پـارامتر زودگذر مقاومت داشته باشد. اما در طرح "ب" نه تنها سیستم در برابـر افشاي پارامتر یا کلید خصوصی زودگذر مقاومتی نـدارد بلکـه بـه علـت اشکالی که در رابطه تولیـد امـضا وجـود دارد، افـشاي کلیـد خـصوصی زودگذر، منجر به افشاي کلید خصوصی بلند مدت انجام دهنده امضارمز نیز خواهد شد. به عبارتی در طرح "ب"، امنیـت کلیـد خـصوصی بلنـد مدت به امنیت کلید خصوصی زودگذر گره خورده است و با افـشاي آن، افشا خواهد شـد. ایـن در حـالی اسـت کـه آسـیبپـذیري پارامترهـاي محرمانه موقت نباید منجر به آسیبپـذیري پارامترهـاي محرمانـه بلنـد مدت شود و عموما فرض بـر آن اسـت کـه کلیـد خـصوصی زودگـذر از امنیت به مراتب پایینتري نسبت به کلید خصوصی بلند مدت برخوردار است. به عنوان مثال، در گوشی موبایل کلید خصوصی بلند مدت ممکن است در داخل سیم کارت ذخیره و حفاظت شود ولی عدد تصادفی مورد استفاده در حافظه گوشی نگهداري شود. در طرح "ب" با ایجـاد اشـکال براي کلید زودگذر و وابسته به جلسه، کلید بلند مـدتی کـه قـرار اسـت مثلا براي چندین سال مورد استفاده قرار گیرد، در یـک لحظـه و بـراي همیشه افشا خواهد شد و تمام ویژگیهاي امنیتی اساسی امضارمز نظیـر محرمانگی، صحت، جعل ناپذیري و انکارناپذیري که وجود آنهـا در گـرو حفظ محرمانگی کلید خصوصی بلند مدت است، به یکباره مفهـوم خـود را از دست خواهند داد. در این طرح، نقطه R که به صورت آشکار بـراي باب ارسال میشود، از طریق رابطه R rG به دست آمده اسـت. اگـر به هر طریقی r متناظر با R آشکارا ارسال شده لو برود، ایـو بـه راحتـی خواهد توانست کلید خصوصی بلند مـدت آلـیس ( ( d A را از روي یـک پیام شنود شده -که آلیس براي باب ارسال داشته است- به دسـت آورد.
براي این منظور کافی است که او h H (C || r1 ) را محاسبه نمایـد و کلیـــد خـــصوصی بلنـــد مـــدت آلـــیس را بـــه راحتـــی از رابطـــه d A s H (hr) −h (mod n) به دست آورد.
امنیت طرح "ب" در [3]، به حل ناپذیري مـساله لگـاریتم گسـسته در خم بیضوي (ECDLP) گره زده شده و با این فرض، سعی در اسـتنتاج ویژگیهاي امنیتی براي طرح "ب" شده است. در ایـن خـصوص لازم بـه ذکر است که هرچند استخراج r تصادفی متناظر با R در حالـت کلـی و در فرض رعایت تمامی پارامترهاي امنیتـی، متنـاظر بـا حـل ECDLP
است ولی مقاومـت در برابـر افـشاي پـارامتر تـصادفی7 (در اینجـا (r، از ویژگیهاي فـوقالعـاده مطلـوب و ضـروري در پروتکلهـاي مبادلـه کلیـد
گونه میباشد؛ به اي کـه امـروزه ایـن امـر در طراحـی تمـام پروتکلهـاي
اسـتاندارد و امـن نظیـر [6] MQV و [8] HMQV -کـه مـورد تاییـد
NSA نیز قرار گرفتهاند- به شدت مورد توجـه قـرار مـیگیـرد. ایـن در حالی است که بر خلاف بسیاري از طرحهاي موجـود، طـرح "ب" فاقـد این ویژگی است. این نقطه ضعف وقتی خود را بیشتر مینمایاند کـه دو سناریوي کاربردي -که در ادامه خواهند آمد- مورد توجه قرار گیرند که به واسطه آنها حملهکننـده بـدون حـل ECDLP، بـه اسـتخراج کلیـد خصوصی بلند مدت آلیس خواهد پرداخـت. هرچنـد کـه ممکـن اسـت گمان شود که این سناریوها مرتبط با نحوه پیـادهسـازي اسـت ولـی در واقع این سناریوها، خطر واقعی افشاي کلید خصوصی بلند مـدت کـاربر در طرح "ب"را گوشزد مینمایند. به بیانی دیگر، اگر سناریوهایی که در ادامــه خواهنــد آمــد، بــراي تمــام طرحهــا ایجــاد مــشکل مـی کردنــد، میتوانستیم آنها را صرفا مرتبط با نحوه پیـادهسـازي بـدانیم ولـی ایـن سناریوها براي بسیاري از پروتکلهاي اسـتاندارد و امـن موجـود مـشکلی ایجاد نمیکنند در حالی که در صورت اعمال بر طـرح "ب"، منجـر بـه افشاي کلیـد خـصوصی بلنـد مـدت آلـیس خواهنـد شـد. سـناریوهاي کاربردي مورد اشاره از قرار زیر میباشند:
الف) در عمل در بسیاري از کاربردها تلاش مـیشـود تـا بـا محاسـبه و ذخیره زوج (r, R) از قبل، کارایی و سرعت عملیات را در استفادههـاي بعدي افزایش دهند. این امر براي طیف وسیعی از کاربردها از وسایل بـا محدودیت منابع گرفته تا سـرورهاي حجـیم و بـزرگ صـادق اسـت. در چنین حالتی، چنین زوجهاي ذخیره شـدهاي بـیش از کلیـد خـصوصی ذخیره شده در معرض آسیب میباشند چرا که معمـولا ایـن زوجهـا در فضاي حافظه معمولی ذخیره میشوند، حال آنکـه کلیـدهاي خـصوصی معمولا در محیطهاي سخت افزاري حفاظت شده ذخیره میشـوند. اگـر حملهکننده بتواند به چنین زوجهاي ذخیره شده اي دسترسـی یابـد، بـه راحتی با استفاده از روش فوقالـذکر و تنهـا بـا در اختیـار داشـتن یـک سهتایی (R,C, s) ، قادر به استخراج کلید خصوصی بلنـد مـدت آلـیس خواهد بود.
ب) دومین امکان، استفاده از نقاط ضعف تولیدکنندههاي اعداد تصادفی مورد استفاده است. عدد تصادفی r در واقع عددي شبه تصادفی اسـت و در عمل گرایشهایی1 نیز خواهد داشت. علیالخصوص هنگامیکه تولید آن در ادوات با محدودیت منابع صـورت پـذیرد کـه معمـولا در چنـین مواردي، با توجه به محدودیت در پـردازش، حافظـه و تـوان مـصرفی از مولدهاي اعـداد تـصادفی چنـدان قـوي اسـتفاده نمـیشـود. در چنـین حالاتی، ایو میتواند به صورت بـرون خـط، مولـد عـدد تـصادفی مـورد استفاده را اجرا نموده، R متناظر با محتملترین r ها را حـساب کـرده و در نهایت زوجهاي (r, R) به دست آمده را براي خود ذخیـره نمایـد. از آنجا که نقطه مولد G جزو پارامترهاي حوزه در خـم بیـضوي محـسوب