بخشی از مقاله

چکیده

پروتکلهای توافق کلید گروهی، به کاربران اجازه می دهد تا بر روی کانالهای ناامن به یک کلید مشترک دست یابند . ارتباطات دیجیتالی گروهی در محیط ناامن اینترنت در دنیای امروزه رو به گسترش میباشد. بر این اساس نیاز به قراردادی با امنیت بالا برای اعضا گروه داریم. در گذشته برای ارتباط اعضا گروه یک کانال محرمانه ایجاد کرده، سپس کلید مشترک را برای اعضا ارسال میکردند، در این روش با تولید کلید گروه توسط یک کاربر - یا مرکز تولید کلید - و ارسال برای دیگر اعضا، امکان شنود، جعل هویت، سرقت کلید و غیره بروی کانال محرمانه نیز وجود داشته، که تهدیدی برای کلید مشترک تمامی اعضا بود.

یک پیشنهاد برای امن کردن تمام پیامهای گروهی تولید کلید نشست توسط تمامی اعضای گروه است. در این مقاله یک پروتکل توافق کلید گروهی پویا مبتنی بر مجموعههای فرکتال با ساختار درختی ارائه میشود. در پروتکل ارائه شده از مجموعه فرکتال مندلبروت، مجموعه فرکتال جولیا و ساختاردرخت باینری استفاده شده است. بدین معنی که برگهای درخت معرف یک کاربر خواهد بود. در مقاله به مقایسه پروتکل پیشنهادی با دیگر پروتکلها پرداخته-ایم. پروتکل توافق کلید گروهی پویا فرکتال ارائه شده، میتواند بهعنوان جانشینی مناسب برای پروتکلهای توافق کلید گروهی موجود باشد.

واژههای کلیدی:توافق کلید گروهی، ساختار درخت دودویی، مجموعه مندلبروت، مجموعه جولیا، فرکتال

مقدمه

رمزنگاری متقارن و رمزنگاری نامتقارن دو روش رمز کردن پیام است. روش رمزنگاری متقارن کلید رمزنگاری و رمزگشایی از یک کلید مشترک استفاده میشود. در روش رمزنگاری نامتقارن دو کلید است یکی برای رمزنگاری دادهها که توسط یک کلید عمومی صورت میگیرد، و دیگری برای رمزگشایی که یک کلید خصوصی است. استفاده از الگوریتم رمزنگاری نامتقارن برای عضو از نطر محاسباتی کندتر از الگوریتمهای رمزنگاری متقارن بوده و نیز منجر به هزینه زیاد محاسبات و مخابراتی است. حال استفاده از رمزنگاری متقارن بین عضو به دو روش است: -1 هر عضو کلیدی دو به دو با دیگر اعضا انتخاب کرده، که با عضو هر عضوی نیاز به n-1 کلید مشترک با دیگر اعضا دارد که حافظهی بزرگی برای نگهداری تمامی کلیدهای هر عضو نیازمند است.

به همین دلیل این روش نیز موثر و کارامد نیست. -2 استفاده از کلید گروهی مشترک به نظر راهحل مناسبی است. در این روش ایجاد کلید مشترک گزوهی به دو دسته تقسیم شده: -1 پروتکلهای توزیع کلید گروهی: ایجاد یک کلید مشترک برای همه اعضا توسط یک شخص یا یک مرکز امن که اطلاعات تمام کاربران گروه را نگه میدارد، حال اگر کنترلر گروه با مشکل مواجه شود یا مورد حمله قرار بگیردآنگاه گروه با شکست مواجه میشود.-2 توافق کلید گروهی: در این روش دو یا چند کاربر شروع به تولید کلید کرده، سپس کلید بدست آمده را برای دیگر اعضا ارسال میکنند. در این روش هیچ یک از کاربران به تنهایی در ایجاد کلید دخالتی نداشته و نیز هیچ عضوی نمیتواند پیشبینی کند که کلید نشست چه خواهد بود.

کارهای مرتبط

اولین پروتکل توافق کلید که توسط دیفی هلمن[1]1 ارائه گردید در مقابل حمله مرد میانه مقاوم نبود به همین دلیل افراد دیگر اقدام به افزایش امنیت این پروتکل کردند. با استفاده از زوجسازی، ژاکس2 توانست پروتکل توافق کلید سه نفره را ارائه دهد.[2] مشکل این پروتکل نیز در مقابل حمله مرد میانه آسیبپذیر است.پروتکل دیفی - هلمن و ژاکس را برای اعضای گروهی مورد بررسی قرار داده با این تفاوت که تمامی اعضا مورد تصدیق قرار گیرند و برای تولید کلید گروهی به صورت حالت ثابت و ایستا تجزیه و تحلیل شوند. در حالت پویا کلید گروهی با هر تغییر همچون اضافه شدن فردی یا کم شدن عضوی دوباره بدست میآید. تولید کلید گروهی پویا بسیار کارآمدتر از تولید کلید گروهی ثابت است و به مراتب سختتر نیز خواهد بود.

اولین بار شرمن[3]3 با استفاده از درختهای تابع یک طرفه کلید گروهی را مطرح کرد. هر پروتکل توافق کلید دو عضوی که یک سری از ویژگیهای مطرح شده در مقاله[3] را برآورده کند، میتواند با استفاده از درختهای تابع یک طرفه به پروتکل توافق کلید -n عضوی گسترش دهد. پروتکل دو عضوی دیفی- هلمن را با درختهای تابع یک طرفه به پروتکل توافق کلید گروهی مبتنی بر ساختار درختی [4] گسترش دادهاند.اولین پروتکل توافق کلید گروهی تصدیقی توسط ردی و دیوانالا[5]4 ارائه گردید در این روش پروتکل توافق کلید تصدیقی دو عضوی با استفاده از درخت تابع یک طرفه به پروتکل توافق کلید گروهی گسترش داده شده است.

باروآ5 و همکارانش[8] نیز پروتکل توسعه یافته سه عضوی ژاکس با استفاده از ساختار درختی را به عنوان پروتکل توافق کلید مبتنی بر ساختار درختی سهتایی ارائه کردند. این پروتکل حاوی احراز هویت نبود، که دووتا6 و همکارانش این پروتکل را با استفاده از امضاهای چندتایی به پروتکل تصدیقی تبدیل کردند.[6]در این مقاله، یک پروتکل توافق کلید گروهی پویا مبتنی بر مجموعه فرکتال با ساختار درختی ارائه میشود. این پروتکل گسترش یافته پروتکل دوعضوی تبادل کلید براساس مجموعه مندلبروت و مجموعه جولیا است، که توسط الیا و سمسودین[7]7 ارائه گردید. در پروتکل ارائه شده از ساختار درختی متوازن استفاده شده است. بدین معنی که هر برگ معرف یک کاربر گروه خواهد بود.

اگر کاربری بخواهد به گروه اضافه و یا از گروه کم شود، برای بدست آوردن کلید نشست جدید نیازی نیست که تمام کاربران گروه در ساختار جدید، تمام محاسبهها قبلی را بار دیگر محاسبه نمایند. از این جهت، پروتکل ارائه شده برای گروههای پویا بسیار مناسب میباشد.فرکتال، اعداد مختلط 8 هستند که از دو بخش واقعی9 و موهومی10 تشکیل شدهاند. میتوان یک عدد مختلط را به عنوان یک نقطه در دستگاه اعداد مختلط نشان داد، اگر عدد مختلط را - z - a bi نمایش دهیم، a بخش حقیقی عدد است که روی محور افقی و b بخش موهومی عدد است که روی محور عمودی نمایش داده میشود. واحد عدد موهومی نیز بصورت1i تعریف میشود.[10] در این مقاله به دلیل راحتی تولید، و داشتن همه ویژگی های فرکتال، از مجموعه مندل بروت و جولیا استفاده کردیم. تنها با تغییر فرمول تکرار11در این برنامه، میتوان کلیدهای جدیدی ایجاد کرد و از نظر امنیت پروتکل خود را بهبود بخشید.

فرکتال مندلبروت[11] - شکل - 1 یک تابع درجه دوم است که از روابط بازگشتی در صفحه مختصات اعداد مختلط C ایجاد میشود - رابطه . - 1 فراکتالها با تکرار یک فرمول معین ساخته میشوند و نتایج یک مرحله به-عنوان ورودی مرحله بعد مورد استفاده قرار میگیرد.مجموعه جولیا - شکل - 2 مانند مجموعه فرکتال مندل بروت نیز مجموعهای از نقاط در صفحه مختلط است که توسط معادله درجه دو به صورت بازگشتی تعریف شده است - رابطه . - 2 تفاوت بین دو مجموعه مندل بروت و جولیا در این است که، نقطه شروع در معادله مجموعه مندلبروت از صفر شروع میشود. در حالیکه در مجموعه جولیا نقطه شروع از مقداری غیر صفر آغاز میشود.اگر نقطه آغازین مجموعه جولیا، c، از درون مجموعه مندلبروت انتخاب شود مجموعه جولیا یکپارچه و بههم چسبیده خواهد شد. اگر c خارج از مجموعه مندلبروت انتخاب شود مجموعه جولیا پیوسته نمیشود.

1-2 توافق کلید دونفره مبتنی بر مندلبروت و جولیا

محمد احمد علیا12 و بن سمسودین13 در سال 2007 توافق کلید دو نفره مبتنی بر مجموعه مندل بروت و جولبا را ارائه دادند .[7] در این الگوریتم از توابع خاص Mandelfn و Juliafn که بهترتیب با رابطههای 3 و 4 نشان داده شدهاند استفاده میشود. مراحل این الگوریتم در شکل3 نشان داده شده است.اولین گام در این الگوریتم تولید مقادیر خصوصی و مقادیر عمومی با استفاده از تابع مندلبروت - رابطه - 3 و تابع جولیا - رابطه - 4 است. همانطور که در ابتدا اشاره شد پروتکل فرکتال شامل یک فرستنده - آلیس - و یک گیرنده - باب - است. گیرنده باید کلید عمومی خود را با استفاده از کلید خصوصی خود تولید کرده و برای فرستنده ارسال کند. فرستنده نیز کلید عمومی خود را با استفاده از رابطه 3 تولید کرده و برای گیرنده میفرستد.

همانطور که در شکل>7@ 3 نشان داده شده است Z n d کلید عمومی محاسبه شدهی گیرنده است که توسط رابطه5 محاسبه شده است - مرحله 1 شکل . - 3مقادیر d و nکلید خصوصی گیرنده و مقادیر e و k    نیز کلید خصوصی فرستنده هستند که n و k تعداد تکرار فرمولها و d وe یک عدد مختلطهستند. c نیز یک عدد مختلط ثابت و عمومی و مشترک بین فرستنده و گیرنده است. همچنین فرستنده کلید عمومی خود را با استفاده از تابع Mandelfn تولید مینماید. تابع Mandelfn برای فرستنده در رابطه 6 نشان داده شده است.بعد از تبادل کلیدهای عمومی و اجرا کردن تابع جولیا، هر دوطرف باب  - Z n e - k d و آلیس - Z k  d - n e    به یک مقدار سری یکسانی خواهند رسید. هر دوطرف از رابطه 7 بر اساس خصوصیات فرکتال به کلید مشترک میرسند.خاصیت بی نظمی توابع فرکتال، امنیت پروتکل ارائه شده راتضمین میکند.

توافق کلید گروهی پویا مبتنی بر مجموعههای مندلبروت و جولیا

این بخش به معرفی پروتکل پیشنهادی میپردازد. در این پروتکل از ساختار درخت دودویی استفاده میکنیم. یک درخت دودویی یک ساختمان داده درخت است که در آن هر گره حداکثر دو گره فرزند دارد. هر کاربر بهطور منطقی به یک گره برگ14 از درخت دودویی مرتبط میشود. برای اینکه هر گره درخت بهطور منحصر بهفرد مشخص شود از برچسب <l,v>استفاده میشود که سطح درخت و h نیز ارتفاع درخت Tاست وموقعیت گره در این سطح است. توجه داریم کهدر درختهای دودویی خطی ارتفاع درخت رابطه خطی با تعداد کاربران دارد، درحالیکه در درختهای دودویی متوازن h لگاریتمی میباشد.

در این ساختار اعضا تشکیل یک گروه را میدهند که این گروه دارای یک مدیر گروه15 برای مدیریت رفتار و ارسال کلید توافقی گروه برای تمام اعضا مجاز است. افراد در ساختار درختی در برگ ها قرار گرفته و فقط با همزاد16 خود در ارتباط هستند. هر شخص دارای دو کلید خصوصی بوده و بخشی از کلید خصوصی کل گروه است. همچنین کل گروه دارای یک کلید عمومی است. نوآوری این طرح در استفاده از ساختار درخت دودویی و استفاده از مجموعههای فرکتال برای دستیابی به کلید گروهی است. این طرح دارای 4 رویه آمادهسازی، پیوستن به گروه، ترک کردن گروه و تولید کلید است.

1-3 آمادهسازی

این رویه شامل مراحل زیر است:

الف - تولید پارامترها: در این بخش نشان میدهیم پارامترهای لازم برای بدست آوردن کلید مشترک کدامند و همچنین چگونه هر کاربر میتواند در مرکز تولید کلید ثبت نام کند. پارامترهای سیستم  را باید در نظر داشته باشیم که  است و تابع مندلبروت با رابطه و  تابع  جولیا با رابطه استفاده میشوند.                            

ب - تولید کلیدهای خصوصی و عمومی کاربران: ابتدا کاربر u i مقادیر n i و e i را بهعنوان کلید خصوصی خود انتخاب میکند که e i باید جزو مجموعه مندلبروت باشد. سپس با استفاده از مقدار عمومی c ، که عدد مختلطی در مجموعه مندلبروت است، به تولید کلید عمومی خود ZMi میپردازد.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید