تماس با ما
 
بدان
 
امروز پنجشنبه ، ۱۳۹۹/۱۲/۱۴
 
کلیه مقالات

Blockchain با IoT ملاقات می کند: معماری برای مدیریت مقیاس پذیر در IoT

Blockchain Meets IoT: an Architecture for ScalableAccess Management in IoT

Blockchain با IoT ملاقات می کند: معماری برای مدیریت دسترسی مقیاس پذیر در IoT:

چکیده:

اینترنت اشیا (IoT) از مراحل ابتدایی خود به بلوغ کامل می رود و خود را به عنوان بخشی از اینترنت آینده در می آورد.

یکی از چالش های فنی برای استقرار میلیارد ها دستگاه در سراسر جهان ، امکان مدیریت آنهاست.

اگرچه فن آوری های مدیریت دسترسی در IoT وجود دارد ، اما آنها براساس مدل های متمرکز طراحی شده اند که محدودیت های فنی جدیدی را برای مدیریت آنها در سطح جهانی ارائه می دهد.

در این مقاله ، ما معماری جدید را برای داوری نقش ها و مجوزها در IoT پیشنهاد می کنیم.

معماری جدید یک سیستم کنترل دسترسی کاملاً توزیع شده برای IoT مبتنی بر فناوری blockchain است.

این معماری با اثبات اجرای مفهوم پشتیبانی می شود و در سناریوهای واقع بینانه IoT مورد ارزیابی قرار می گیرد.

نتایج نشان می دهد که فناوری blockchain می تواند به عنوان فناوری مدیریت دسترسی در سناریوهای مقیاس پذیر خاص IoT استفاده شود.

مقدمه:

با پیش بینی 18 میلیارد دستگاه تا سال 2022 [1] ، اینترنت اشیا (IoT) به یک فناوری با نفوذ زیادی در بسیاری از بازارهای عمودی تبدیل شده است.

پیش بینی شده است که بسیاری از خدمات IoT در سراسر جهان میلیون ها دستگاه ساده و بعضاً ریز دسترسی داشته باشند.

علاوه بر این ، قابلیت های محدود بسیاری از دستگاه های IoT و همچنین سیستم های کنترل دسترسی فعلی مبتنی بر ساختارهای متمرکز و سلسله مراتبی ، چالش های جدیدی را در حوزه IoT ایجاد می کند.

سیستم های کنترل دسترسی متمرکز - که در غیر این صورت به عنوان الگوی مشتری / سرور شناخته می شود - برای پاسخگویی به نیازهای سناریو اینترنت سنتی مبتنی بر دستگاه انسان طراحی شده بودند که دستگاه ها در همان حوزه اعتماد هستند ، که معمولاً به مدیریت دسترسی متمرکز نیاز دارد.

با این حال ، برخی از حالات IoT بسیار پویاتر از سناریوهای سنتی است که در آن دستگاههای IoT ممکن است متحرک باشند [2] و متعلق به جوامع مختلف مدیریتی در طول زندگی خود هستند.

از طرف دیگر ، دستگاه های IoT می توانند توسط چندین مدیر به طور همزمان مدیریت شوند.

علاوه بر این ، بسیاری از دستگاه های IoT و مدیران محدود محدود از نظر CPU ، حافظه و منابع باتری بسیار محدود خواهند بود تا بتوانند با استفاده از سیستم های فعلی به درستی کار کنند.

از این رو ، روش های جدیدی برای دستیابی به مشکل مورد نیاز است.

در این مقاله یک معماری جدید برای مدیریت دستگاه های IoT ارائه می دهیم.

معماری یک سیستم کنترل دسترسی غیر متمرکز متصل به شبکه های حسگر توزیع شده جغرافیایی را فراهم می کند.

راه حل مبتنی بر فناوری blockchain است ، در حالی که سیاست های کنترل دسترسی توسط آن اعمال می شوند.

این راه حل با اتخاذ blockchain ، مدیریت متمرکز دسترسی را از بین می برد.

در عوض ، یک سرور کنترل دسترسی متمرکز تنها ممکن است در صورت مکرر نمایش داده های کنترل دسترسی تبدیل به تنگنا شود.

برخلاف سایر پیشنهادات سیستم متمرکز [4] ، رویکرد ما مزایای زیر را برای کنترل دسترسی در IoT به ارمغان می آورد:

تحرک:

معماری را می توان در سیستم های اداری جداگانه و یا دامنه استفاده کرد.

بنابراین ، هر حوزه اداری آزادی خاص خود را برای مدیریت دستگاه های IoT دارد در حالی که سیاست های کنترل دسترسی هنوز هم طبق قوانین موجود در blockchain اجرا می شوند. دسترسی:

در برخی از سیستم های IoT ، مدیران محدود ممکن است از الگوهای خواب استفاده کنند که دسترسی دائم به آنها را غیرممکن می کند.

این راه حل باعث می شود قوانین کنترل دسترسی در هر زمان در دسترس باشد.

علاوه بر این ، خرابی در برخی از سرورهای اداری ، دسترسی به اطلاعات را خراب نمی کند. تمام اطلاعات کنترل دسترسی توزیع می شوند.

همزمانی:

یک دستگاه محدود می تواند چندین مدیر همزمان داشته باشد و همه آنها می توانند به طور همزمان به سیاستهای کنترل دسترسی دسترسی یا اصلاح کنند.

سبک وزن:

دستگاه های IoT برای اتخاذ راه حل ما نیازی به اصلاح ندارند.

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

مقیاس پذیری:

به دلیل این واقعیت که دستگاه های IoT به اطلاعات کنترل دسترسی مستقیم از مدیران دسترسی ندارند ، یک مدیر محدود هنوز می تواند چندین دستگاه IoT را با استفاده از راه حل ما اداره کند.

علاوه بر این ، راه حل ما از چندین دستگاه IoT متصل از طریق شبکه های محدود مختلف به یک blockchain واحد پشتیبانی می کند.

شفافیت:

سیستم مکان دستگاه های IoT و نحوه دستیابی به یک منبع را پنهان می کند.

به طور خاص ، این مقاله با استفاده از فناوری blockchain به طراحی یک معماری کنترل دسترسی غیر متمرکز جدید برای IoT کمک می کند.

رویکرد ما با راه حل های دیگر به شکلی که از یک طراحی خاص استفاده می کند برای جلوگیری از ادغام فناوری blockchain در دستگاه های IoT متفاوت است.

این کارایی راه حل ما را در تعداد زیادی از سناریوهای IoT با قابلیت های محدود افزایش می دهد.

برخلاف راه حل های دیگر ، این طرح با یک قرارداد هوشمند واحد عمل می کند و کل فرآیند را در شبکه blockchain ساده می کند و ارتباط بین گره ها را کاهش می دهد.

علاوه بر این ، اطلاعات کنترل دسترسی در زمان واقعی به دستگاههای IoT ارائه می شود.

به طور خلاصه ، اتخاذ فناوری blockchain در رویکرد ما بطور خاص برای دستیابی به مقیاس پذیری بهتر و دستیابی به نتایج بهتری نسبت به راه حلهای فعلی در سناریوهای سبک IoT طراحی شده است.

بقیه مقاله به شرح زیر است.

بخش 2 و 3 به ترتیب معماری و اجرای آن را تشریح می کند.

بخش 4 مجموعه ای را که برای ارزیابی معماری ما مورد استفاده قرار می گیرد توصیف می کند و نتایج اندازه گیری ها را ارائه می دهد.

بخش 5 امنیت سیستم ما را تحلیل می کند.

بخش 6 فن آوری های مربوط به کنترل دسترسی را در IoT ارائه می دهد و بخش 7 نتیجه گیری از مقاله را ارائه می دهد.

الف - Blockchain:

دفترچه راهنمای عمومی بیت کوین - blockchain - اولین بار در سال 2009 توسط Satoshi Nakamoto معرفی شد [5].

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

از این پس ، بسیاری از شکل های دیگر از پول نقد الکترونیکی (فراخوان ارز رمزنگاری) با استفاده از ساختارهای مشابه ایجاد شده اند.

در همین زمان ، برنامه های مختلفی با استفاده از blockchain در طی سالیان متمادی برای اجرای سایر سناریوها فراتر از ارزهای رمزنگاری شده ایجاد شده است.

مفاهیم جدید مانند قراردادهای هوشمند و خصوصیات هوشمند وارد صحنه شده اند.

قراردادهای هوشمند [6] پروتکل های رایانه ای هستند که مذاکره یا عملکرد یک قرارداد را تسهیل ، تأیید یا اجرای می کنند.

آنها توانایی ردیابی مستقیم و اجرای توافق های پیچیده بین طرفین را بدون تعامل انسانی فراهم می کنند.

از طرف دیگر ، خواص هوشمند توافقی است که مالکیت آنها با استفاده از قراردادها از طریق blockchain کنترل می شود.

کاربردهای بالقوه فناوری blockchain فراتر از بیت کوین است.

فناوری Blockchain دارای خواص زیر است:

- کنترل غیر متمرکز:

طرحی غیرمتمرکز که در آن هیچ مرجع مرکزی قوانین را دیکته نمی کند.

- شفافیت داده ها و حسابرسی:

یک نسخه کامل از هر معامله ای که تاکنون در سیستم انجام شده است در بلاکچین ذخیره می شود و برای همه همسالان عمومی است.

- توزیع اطلاعات:

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

- اجماع غیر متمرکز:

معاملات توسط همه گره های یک شبکه به جای یک نهاد مرکزی اعتبار می یابد.

این با پارادایم اجماع متمرکز شکسته می شود.

- امن است:

blockchain ضد لعاب است و توسط بازیگران مخرب قابل دستکاری نیست.

این تعداد کمی از نقاط قوت فن آوری blockchain است.

قابلیت های امن ، غیرمتمرکز و مستقل از blockchain آن را به یک مؤلفه ایده آل تبدیل کرده و به عنصر اساسی راه حل های IoT تبدیل می شود.

ب- فناوری Blockchain:

blockchain [5] یک پایگاه داده توزیع شده است که نیازی به مرجع مرکزی ندارد و نیاز به تأیید شخص ثالث را برطرف می کند.

یک blockchain شامل مجموعه ای از بلوک ها است و هر بلوک حاوی هشی از بلوک قبلی است و یک زنجیره بلوک از بلوک پیدایش به بلوک فعلی ایجاد می کند.

بلوک پیدایش اولین بلوک زنجیره ای است.

بلاک پیدایش تقریباً همیشه به نرم افزار تبدیل شده است.

این یک مورد خاص است که به یک بلوک قبلی اشاره نمی کند.

برای هر نوع بلوک در زنجیره ، فقط یک مسیر به بلوک پیدایش وجود دارد.

با این حال ، از بلوک پیدایش ، چنگال هایی وجود دارد.

چنگالها وقتی ایجاد می شوند که دو بلوک فقط چند ثانیه از هم فاصله داشته باشند.

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

طولانی ترین زنجیره معتبر بر اساس دشواری ترکیبی آن زنجیره محاسبه می شود ، نه تعداد بلوک ها.

بلوک های زنجیر کوتاهتر زنجیره های نامعتبر محسوب می شوند و غالباً بلوک های یتیم نامیده می شوند.

بلاک ها مجموعه معاملات دارند.

معامله انتقال ارزش بین نهادهای مختلفی است که به شبکه پخش می شوند و در بلوک ها جمع می شوند.

همه معاملات در blockchain قابل مشاهده است.

معاملات به اصطلاح کارگران معدن استخر یا کارگران معدنکاری منفجر شده اند.

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

معدنچیان استخر یا معدنچیان انفرادی اشخاصی هستند که سوابق معامله را به blockchain اضافه می کنند.

آن فرآیند را معدن می نامند.

استخراج از معادن به صورت عمدی طراحی شده است که دارای منابع جدی و مشکل باشد.

بلوک های فردی باید حاوی اثبات کار (PoW) [7] باشد که در blockchain معتبر تلقی شود.

PoW هر بار که بلاک دریافت کنند توسط سایر معدنچیان تأیید می شود.

هدف اصلی از استخراج این است که گره های یک سیستم را به یک اجماع امن و مقاوم در برابر دست زدگی برساند.

معدن همچنین مکانیزم مورد استفاده برای معرفی رمزنگاری جدید (به عنوان مثال بیت کوین) به سیستم است.

در زمان اعتبارسنجی یک سکه ، معدن کارگران مبلغ معامله و همچنین مقدار مشخصی از سکه های جدید ایجاد شده را پرداخت می کنند.

این روش با هدف توزیع سکه های جدید به صورت غیر متمرکز و همچنین تأمین امنیت سیستم انجام می شود.

این سیستم بطور خودکار با تمام توان استخراج شبکه سازگار است و آن را در مدت زمان مشخصی ثابت نگه می دارد (مثلاً 10 دقیقه در بیت کوین).

هدف دشواری PoW نیز پس از هر مقدار مشخصی از بلوک (به عنوان مثال 2016 بلوک در بیت کوین) بر اساس عملکرد شبکه تنظیم می شود.

یک معامله برای رسیدن به تمام گره های شبکه زمان لازم دارد و تأخیر اطمینان حاصل می کند که کلیه معاملات توسط همه گره های شبکه تأیید می شود ، برای جلوگیری از به اصطلاح مشکل هزینه دوبرابر.

هزینه های مضاعف نتیجه استفاده از مقداری رمزنگاری بیش از یک بار به طور همزمان است.

اجماع یک مشکل اساسی در سیستم های توزیع شده است که به دو یا چند عامل نیاز دارد تا بر مبنای ارزش معین مورد نیاز برای اهداف محاسباتی به توافق برسند.

برخی از این عوامل ممکن است غیرقابل اعتماد باشند و بنابراین روند اجماع باید تکیه کند.

Blockchain ها می توانند از الگوریتم های مختلف اجماع استفاده کنند.

برخی از آنها شامل اثبات کار (PoW) ، اثبات سهام (PoS) ، اثبات ذخیره سازی [8] ، اثبات سوختگی یا اثبات ظرفیت [9] در میان دیگران است.

PoW از هر بلوک سطح خاصی از دشواری برای تولید یک بلوک جدید را تضمین می کند ، و اجماع غیرمتمرکز باعث اعتبار هر بلوک در blockchain می شود.

در صورت اجماع پذیرفتن یک بلوک جدید ، بلوک جدید به blockchain اضافه خواهد شد و تمام معدنچیان مجبورند با استفاده از آن بلوک به عنوان مرجع استخراج معادن را آغاز کنند.

هر بلوک از نظر محاسباتی غیر عملی است که پس از افزودن آن به blockchain اصلاح شود زیرا کل زنجیره ای نیز باید مجدداً بازسازی شود.

اثبات سهام (PoS) [10] یک جایگزین پیشنهادی برای PoW است.

PoS این عقیده را ایجاد می کند که فقط افرادی که دارایی در سیستم دارند می توانند در روند اجماع در حال رشد زنجیره شرکت کنند.

در حالی که روش PoW معدنکاران را مجبور می کند تا برای اعتبارسنجی معاملات ، الگوریتم های هشی کردن گران قیمت را بارها و بارها اجرا کنند ، PoS از کاربران می خواهد مالکیت مقدار معینی از ارز (یعنی سهام آنها را در ارز) اثبات کنند.

ج- پیاده سازی های Blockchain:

از فناوری blockchain می توان به روشهای مختلفی استفاده کرد نه فقط به عنوان یک سیستم ارزهای دیجیتال ، به عنوان مثال استفاده از blockchain ها به عنوان فناوری اساسی برای ساختن نرم افزار.

در این بخش توصیف شده است که ما معتقدیم برخی از سیستم های محبوب blockchain و ویژگی های برجسته آنها است.

سیستم های زیر عمدتا بر ساختن برنامه های نرم افزاری در بالای فناوری blockchain متمرکز هستند.

1) بیت کوین:

بیت کوین [5] اولین بلاکچین بود که مفهوم سازی و اجرا شد ، و یک رمزنگاری است که به عنوان یک دارایی مالی دیجیتال خدمت می کند.

بیت کوین از رمزنگاری کلید عمومی ، شبکه های نظیر به همتا و اثبات کار برای انجام معاملات و تأیید آنها استفاده می کند.

سیستم بیت کوین طوری برنامه ریزی شده است که هر 10 دقیقه یک بار یک بلاک جدید ایجاد می شود.

اگر یک چنگال بخشی از طولانی ترین زنجیره محاسباتی نباشد ، به یک بلوک کم رنگ تبدیل می شود.

شایان ذکر است که هیچ توازنی در بیت کوین وجود ندارد ، یا بهتر است خروجی معاملات ناپایدار (UTXO) در blockchain وجود داشته باشد.

هر گاه برخی از بیت کوین ها دریافت می شوند ، آنها به عنوان UTXO ثبت می شوند.

بنابراین ، ارسال بیت کوین به کسی در واقع به معنای ایجاد یک UTXO متناسب با آدرس گیرنده است.

بازده معامله به طور معمول از دو قسمت تشکیل می شود ، یعنی مبلغ و یک اسکریپت قفل.

اسکریپت قفل شرایطی را نشان می دهد که برای گذراندن UTXO باید برآورده شود.

ساتوشی کوچکترین فرض مبلغ قابل ارسال است.

2) اتریوم:

Ethereum [10] در سال 2013 توسط یک توسعه دهنده بیت کوین ویتالیک بوتین طراحی شد ، که می خواست برای تسهیل در توسعه برنامه های غیرمتمرکز در بالای blockchain ، سکویی بسازد.

اتریوم رمزنگاری خاص خود را به نام اتر و یک ارز داخلی برای پرداخت محاسبات و کارمزدهای معامله به نام گاز دارد.

برنامه های غیر متمرکز را می توان با یک زبان کاملاً داخلی Turing با نام Solidity1 برنامه ریزی کرد.

یک زبان کامل Turing به یک زبان برنامه نویسی اطلاق می شود که در صورت فراهم بودن زمان و مکان کافی ، می تواند هرگونه مشکل محاسباتی را برطرف کند.

اتریوم از PoW به عنوان مکانیسم اجماع خود استفاده می کند ، اما به زودی به PoS تغییر می کند.

پایه اصلی اثبات الگوریتم های کاری که Ethereum در حال حاضر از آن استفاده می کند ، الگوریتم هشی کردن حافظه به نام Dagger-Hashimoto است.

زمان ایجاد بلوک به طور قابل توجهی پایین تر از بسیاری از سیستم های دیگر است و تقریباً 12 ثانیه است.

از آنجا که زمان ایجاد بلوک پایین تر منجر به سرعت بالاتری از بلوک های قدیمی می شود ، سیستم از پروتکل GHOST [11] استفاده می کند تا سنگین ترین زنجیره محاسباتی را بعنوان blockchain اصلی در نظر بگیرد.

سنگین ترین زنجیره در این حالت شامل بلوک های قدیمی نیز هست.

3) ریشه:

Rootstock ، یک پلتفرم جدید منبع باز ، از نظر ایجاد قراردادهای هوشمند بر روی یک پلت فرم هوشمند کامل Turing ، به Ethereum شباهت دارد ، به جز اینکه از اکوسیستم Bitcoin برای این کار استفاده می کند.

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

این بدان معنی است که تمام قراردادهای اتریوم به راحتی می توانند در Rootstock اجرا شوند.

با این حال ، بزرگترین مزیت آنها این واقعیت است که می توان آنها را با بیت کوین ادغام کرد و از این طریق Rootstock را ایمن کرد.

sidechain یک blockchain جداگانه است که دارایی های آن قابل انتقال به و از blockchain اصلی ، یعنی blockchain Bitcoin در این زمینه است.

4) هایپرلدگر:

Hyperledger3 یک پروژه است که توسط بنیاد لینوکس به عنوان یک پروژه مشترک صنعت متقابل میزبانی شده است.

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

این منطق UTXO و مبتنی بر اسکریپت را از Bitcoins ، همانطور که در I-C1 شرح داده شده است ، قرض می گیرد و به جای اثبات الگوریتم کار ، از پروتکل اجماع عملی تحمل پذیر خطا (PBFT) [12] استفاده می کند.

PBFT شناخته شده است که هزاران درخواست در هر ثانیه را با افزایش تأخیر کمتر از یک میلی ثانیه پردازش می کند.

II- نمای کلی سیستم کنترل دسترسی دسترسی در IOT:

معماری ارائه شده در این مقاله یک سیستم جدید مدیریت دسترسی غیرمتمرکز را توصیف می کند که در آن اطلاعات کنترل دسترسی با استفاده از فناوری blockchain ذخیره و توزیع می شوند.

همه اشخاص جز دستگاه های IoT و گره های مرکز مدیریت بخشی از فناوری blockchain خواهند بود.

گره های موجود در یک شبکه blockchain باید شامل یک نسخه از blockchain باشند.

تابلوچین ها می توانند به اندازه قابل توجهی بزرگ باشند و با گذشت زمان افزایش خواهند یافت.

اکثر دستگاه های IoT به دلیل ماهیت محدود خود قادر به ذخیره اطلاعات blockchain نخواهند بود.

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

علاوه بر آن ، راه حل شامل یک قرارداد هوشمند واحد است که کلیه عملیات مجاز در سیستم کنترل دسترسی را تعریف می کند.

آن قرارداد بی نظیر است و نمی تواند از سیستم حذف شود.

اشخاصی به نام مدیران به منظور تعریف سیاست کنترل دسترسی سیستم با قرارداد هوشمند تعامل دارند.

بخش II-A با جزئیات بیشتر مؤلفه های مختلف معماری را توضیح می دهد.

بخش II-B رابط ها را تعریف می کند.

بخش II-C تعامل آن مؤلفه ها را توصیف می کند در حالی که بخش II-D محدودیت ها و راه حل های ممکن از معماری ما را تعریف می کند.

الف - معماری سیستم:

معماری سیستم ما در شکل 2 نشان داده شده است.

معماری را می توان به شش مؤلفه مختلف تقسیم کرد:

- شبکه های حسگر بی سیم. - مدیران؛ - گره عامل؛ - قرارداد هوشمند؛ - شبکه Blockchain؛ - مراکز مدیریتی؛ 1) شبکه های حسگر بی سیم:

شبکه حسگر بی سیم یک شبکه ارتباطی است که امکان اتصال محدود را در برنامه هایی با توان و نور مورد نیاز محدود فراهم می کند.

علاوه بر این ، دستگاه های IoT متعلق به شبکه حسگر بی سیم در توان محاسباتی ، حافظه و یا در دسترس بودن انرژی آنها محدود است.

دستگاه های IoT متعلق به شبکه blockchain نیستند.

در نتیجه ، یکی از الزامات معماری ما این است که تمام دستگاه ها باید بصورت منحصر به فرد در سطح جهان در شبکه blockchain شناسایی شوند.

تولید کنندگان کلید عمومی می توانند راه حلی برای مشکل تولید عدد تصادفی قابل قبول بزرگ و بی نظیر ارائه دهند.

به طور معمول ، استفاده از فناوری های رمزنگاری IoT موجود ، به طور خودکار یک کلید عمومی برای هر دستگاه ایجاد می کند.

از این رو ، اجرای اتصالات رمزگذاری ، شناسه های منحصر به فرد را تضمین می کند.

در حقیقت پروتکل های ارتباطی IoT فعلی مانند CoAP [13] از کانال های امن از طریق DTLS پشتیبانی می کنند [14].

2) مدیران:

مدیر سازمانی است که وظیفه مدیریت مجوزهای کنترل دسترسی از مجموعه دستگاههای IoT را بر عهده دارد.

به طور معمول ، مدیران گره های سبک در سیستم ما محسوب می شوند.

گره های سبک وزن اطلاعات blockchain را ذخیره نمی کنند یا معاملات بلاکچین را مطابق انجام گره های معدنچی تأیید می کنند.

در نتیجه ، دستگاه های محدود همچنین می توانند در سیستم ما مدیر شوند بدون اینکه مانعی برای محدودیتهای سخت افزاری آنها ایجاد کنند.

علاوه بر این ، مدیرانی که از رویکرد ما استفاده می کنند نیازی به اتصال مداوم به شبکه blockchain ندارند که این امر به کاهش استفاده از منابع سخت افزاری آنها کمک می کند.

هر نهاد می تواند به عنوان مدیر ثبت شود.

با این حال ، دستگاه های ثبت شده به عنوان دستگاه های IoT باید تحت کنترل یک مدیر ثبت نام کنند.

این کار برای جلوگیری از ثبت نام مدیران در دستگاههای تحت کنترل آنها بدون اجازه دستگاه انجام می شود.

علاوه بر این ، کلیه دستگاههای ثبت شده IoT در سیستم باید حداقل به یک مدیر ثبت شده تعلق داشته باشند.

در غیر این صورت ، هیچ کس قادر به مدیریت آن دستگاه نخواهد بود.

یک دستگاه IoT ثبت شده می تواند همزمان به چندین مدیر تعلق داشته باشد.

پس از ثبت دستگاه IoT تحت کنترل مدیر ، مدیران می توانند مجوزهای کنترل دسترسی ویژه را برای آنها تعیین کنند.

3) گره عامل:

گره عامل یک گره blockchain خاص در معماری ما است که وظیفه دارد تنها قرارداد هوشمند را در سیستم ما مستقر کند.

گره نماینده مالک قرارداد هوشمند در طول عمر سیستم کنترل دسترسی است.

پس از پذیرش قرارداد هوشمند در شبکه blockchain ، گره عامل آدرسی را دریافت می کند که قرارداد هوشمند را در داخل شبکه blockchain مشخص می کند.

به منظور تعامل با قرارداد هوشمند ، همه گره های موجود در شبکه blockchain باید آدرس آن آدرس هوشمند را بدانند.

4) قرارداد هوشمند:

سیستم مدیریت دسترسی که در این مقاله شرح داده شده است توسط عملیات تعریف شده در یک قرارداد هوشمند واحد اداره می شود.

این قرارداد هوشمند بی نظیر است و نمی تواند از سیستم حذف شود.

از این رو کلیه عملیات مجاز در سیستم مدیریت دسترسی در قرارداد هوشمند تعریف شده و توسط معاملات blockchain انجام می شود.

پس از انجام عملیاتی از طریق معامله ، کارگران معدن اطلاعات معامله را در سطح جهانی در دسترس نگه می دارند.

قرارداد هوشمند و عملیات آن نیز در سطح جهان قابل دسترسی است.

علاوه بر آن باید در نظر داشت که مدیران تنها نهادهایی هستند که توانایی تعامل با قرارداد هوشمند را دارند تا بتوانند سیاستهای جدیدی را در سیستم تعریف کنند.

5) شبکه Blockchain:

شبکه blockchain در معماری ما به دلیل سادگی یک blockchain خصوصی است.

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

با این حال ، در یک سناریوی واقعی ، باید از blockchain عمومی برای تسهیل پذیرش راه حل استفاده شود.

بلاکچین های خصوصی مواردی هستند که توسط همه قابل خواندن هستند اما فقط توسط گره های خصوصی نوشته شده اند.

کارگران معدن در شبکه با تأیید معاملات و نگه داشتن نسخه های blockchain به حفظ امنیت و ثبات شبکه کمک می کنند.

گره ها می توانند از رابط blockchain برای ذخیره و دسترسی جهانی به خط مشی کنترل دسترسی دستگاههای خاص استفاده کنند.

اطلاعات کاملاً غیرمتمرکز و ضد انحصاری است.

6) مرکز مدیریت:

همانطور که قبلاً نیز اشاره شد ، دستگاه های IoT متعلق به شبکه blockchain نیستند.

اکثر دستگاه های IoT از نظر CPU ، حافظه و باتری بسیار محدود هستند.

این محدودیتها دستگاههای IoT را جزئی از شبکه blockchain می کند.

بخشی از شبکه blockchain به معنای نگه داشتن یک نسخه از blockchain بصورت محلی و پیگیری معاملات شبکه است.

حتی اگر راه حل های سبک وزن وجود دارد که کل اطلاعات blockchain را بصورت محلی حفظ نمی کند و به گره های دیگر تکیه نمی کند [15] ، همه این راه حل های سبک تر برای اکثر دستگاه های IoT هنوز هم خیلی سنگین هستند.

در نتیجه ، ما تصمیم به استفاده از گره ای به نام هاب مدیریت گرفتیم.

مرکز مدیریت واسط است که اطلاعات رمزگذاری شده در پیام های CoAP توسط دستگاه های IoT را به پیام های JSON-RPC ترجمه می کند که توسط گره های blockchain قابل درک است.

مرکز مدیریت مستقیماً با یک گره blockchain ، به عنوان مثال ، یک معدنچی متصل است.

شبکه های حسگر چندگانه می توانند به یک گره توپی مدیریت متصل شوند و گره های توپی چند مدیریتی می توانند به همان گره blockchain متصل شوند.

دستگاه های IoT فقط با استفاده از مرکز مدیریت می توانند اطلاعات دسترسی از blockchain را درخواست کنند.

گره های توپی مدیریتی نمی توانند دستگاههای محدود کننده باشند.

چنین دستگاه هایی نیاز به ویژگی های عملکرد بالا دارند تا بتوانند در حد امکان درخواست های همزمان از دستگاه های IoT را ارائه دهند.

در ساده ترین حالت در صورت عدم نیاز به احراز هویت ، هر دستگاه IoT قادر خواهد بود مستقیماً به هر مرکز مدیریتی متصل شود و به شبکه blockchain دسترسی پیدا کند.

با این حال ، در بسیاری از موارد کنترل دسترسی لازم است.

در چنین حالتی ، دستگاه های IoT فقط قادر به اتصال به برخی مراکز مدیریت خاص خواهند بود.

پس از افزودن دستگاه IoT به سیستم ، گره مدیر آن دستگاه مجبور است گره هاب مخصوص مدیریت را در مورد اعتبار آن دستگاه آگاه سازد ، همچنین دستگاه را از محل گره هاب مدیریت مطلع کند.

ب- رابط های سیستم:

بدن

ج- تعامل سیستم:

بدن

در این بخش تعامل متفاوتی بین مؤلفه های مختلف معماری ما توضیح داده شده است.

همانطور که در شکل 3 نشان داده شده است ، تعامل را می توان به چهار مرحله مختلف تقسیم کرد:

راه اندازی شبکه blockchain مدیریت ، ثبت نام مدیران و دستگاه های IoT در سیستم ، تعیین خط مشی برای مؤلفه های فوق و کشف این خط مشی.

گفتنی است ، دو نوع فعل و انفعالات دیگر وجود دارد که به دلیل شباهت آن با مراحل قبلی در شکل 3 تعریف نشده اند اما در زیر توضیح داده شده است.

این تعامل ها عبارتند از اصلاح سیاست های کنترل دسترسی در سیستم پس از ثبت نام و اصلاح مدیر دستگاه پس از ثبت نام.

1) راه اندازی شبکه:

در طی این مرحله ، سیستم مدیریت دسترسی در شبکه blockchain ایجاد می شود.

پس از ایجاد شبکه blockchain ، گره عامل قرارداد هوشمند را در شبکه blockchain مستقر می کند.

این قرارداد منفرد هوشمند کلیه عملکردهای سیستم کنترل دسترسی را تعریف می کند.

پس از پذیرش قرارداد هوشمند در شبکه blockchain ، گره نماینده آدرس قرارداد هوشمند را دریافت می کند.

آدرس برای شناسایی قرارداد هوشمند در سیستم مدیریت دسترسی استفاده می شود و سایر اجزای شبکه blockchain برای تعامل با آن به آدرس قرارداد هوشمند نیاز دارند.

به عنوان مثال ، تمام مدیران سیستم برای ثبت نام به عنوان مدیران یا اصلاح قوانین دسترسی به دستگاههای IoT با این قرارداد هوشمند منفرد تعامل دارند.

شکل 3 نشان می دهد که چگونه یک مدیر و یک مرکز مدیریت آدرس را کشف می کنند و گره نماینده را پرس و جو می کنند.

به طور معمول ، این یک امکان برای دستیابی به اطلاعات خواهد بود.

با این حال ، در اجرای ما ، آن اطلاعات به سادگی در این مؤلفه ها برای سادگی کدگذاری شده اند.

مرکز مدیریت با نزدیکترین گره موجود در شبکه blockchain ، یک گره معدنچی در شکل 3 متصل می شود.

آن معدنچی میزبان یک نسخه شخصی از blockchain است.

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

مراکز مدیریتی همچنین باید راهی برای یافتن گره های موجود در کنار خود داشته باشند.

این اطلاعات می تواند از یک سیستم متمرکز در اینترنت بدست آید ، اما در اجرای خاص ما ، به صورت دستی در هر مرکز مدیریت تنظیم می شود.

2) ثبت نام:

هر گره blockchain در سیستم مدیریت دسترسی می تواند به عنوان مدیر ثبت شود.

برای اینکه یک گره blockchain بتواند خود را به عنوان مدیر ثبت کند ، باید آدرس قرارداد هوشمند را بداند.

پس از به دست آوردن آن اطلاعات ، می تواند خود را برای ارسال یك تراكنشی به تابع RegisterManager تعریف شده در قرارداد هوشمند ثبت كند.

پس از آن مدیر پس از قبول موفقیت در معامله در blockchain ، آدرس ثبت نام خود را دریافت می کند.

این آدرس مدیر سیستم موجود در سیستم مدیریت دسترسی را مشخص می کند.

گره های مدیر همچنین می توانند دستگاه های IoT را تحت کنترل یک مدیر ثبت کنند.

محدودیتی در تعداد مدیرانی که یک دستگاه IoT می تواند داشته باشد وجود ندارد.

بنابراین ، یک دستگاه IoT می تواند در هر زمان چندین مدیر داشته باشد.

مانند پرونده قبلی ، مدیر آدرس دستگاه ثبت شده ای را که برای شناسایی دستگاه به سیستم مدیریت دسترسی استفاده می شود ، دریافت می کند.

دستگاه های IoT باید قبل از اینکه عملیات در blockchain پذیرفته شود ، ثبت نام را تحت مدیر تأیید کنند.

در غیر این صورت ، هر مدیر می تواند هر دستگاهی را تحت کنترل خود ثبت کند.

به خاطر سادگی ، اجرای ما از تأیید آن صرف نظر می کند.

این فرض باعث می شود سیستم ما در مورد یک مدیر مخرب بسیار ناامن باشد ، اما هدف ما اثبات امکان سنجی معماری بود نه امنیت.

3) اصلاح مدیریت:

همانطور که قبلاً توضیح داده شد ، هر دستگاه IoT باید متعلق به حداقل یک مدیر باشد.

علاوه بر این ، سیستم ما تعداد زیادی از مدیرانی را کنترل می کند که همان دستگاه را کنترل می کنند.

روشهای مختلفی در سیستم ما برای انتقال کنترل مدیریت از یک مدیر به مدیر دیگر یا اضافه کردن یا حذف چندین مدیر از سیستم وجود دارد.

در نمونه اولیه ما یکی از ساده ترین گزینه ها را انتخاب می کنیم که در آن هر گره مدیر در سیستم می تواند خود را به عنوان مدیر دستگاه هایی که کنترل می کند حذف کند.

در عوض ، مدیران نمی توانند مدیران دیگر را از سیستم حذف کنند.

این سیستم همیشه به مدیر اجازه می دهد تا زمانی که دستگاه IoT تحت کنترل حداقل یک گره مدیر دیگر باشد ، خود را از دستگاه IoT خارج کند.

در غیر این صورت ، قرارداد هوشمند اجازه اجرای عملیات را نخواهد داد و فسخ خواهد شد.

از طرف دیگر ، فقط گره های مدیر که یک دستگاه IoT را کنترل می کنند می توانند سایر مدیران را تحت کنترل آن دستگاه ثبت کنند.

یکی از مزایای راه حل ما این است که انتقال کنترل مدیریتی دستگاه IoT یک فرایند ساده است به این دلیل که کلیه عملیات موجود در سیستم با استفاده از یک قرارداد منفرد هوشمند تعریف و اجرا می شود و مدیران نیازی به تعامل با هر یک ندارند دیگر.

مدیران فقط باید آدرس دستگاه و آدرس بلاکچین قرارداد هوشمند را بدانند تا بتوانند روابط مدیریت را تغییر دهند.

4) تعریف سیاست:

مدیران می توانند برای منابع دستگاههای IoT خود قوانین کنترل دسترسی را تعیین کنند.

مجوزها از بسیاری جهات قابل تعریف هستند.

با این حال ، مجوزهای موجود در اجرای ما دستگاههایی را دارند که دارای حق دسترسی به یک منبع خاص هستند.

از این پس ، مدیران نه تنها باید آدرس دستگاههای تحت کنترل خود را بدانند بلکه آدرس دستگاههای مجاز برای دسترسی به دستگاههای IoT خود را نیز بدانند.

مدیران می توانند با ایجاد کلیه اطلاعات ، خط مشی ایجاد معامله نسبت به قرارداد هوشمند را عملی کنند.

5) اصلاح سیاست:

شبیه به تعریف خط مشی ، مدیران می توانند در هر زمان سیاست ها را تغییر داده و حذف کنند.

روش مشابه روشی است که در تعریف خط مشی شرح داده شده است.

اگر یک مدیر با استفاده از عملکرد AddAccessControl خط مشی موجود را اضافه کند ، این خط مشی به طور خودکار اصلاح می شود.

6) کشف سیاست:

هنگامی که دستگاه S2 در شکل 3 مایل به دستیابی به منبعی است که توسط دستگاه S1 به آن دسترسی پیدا می کند ، S2 یک پیام CoAP را ارسال می کند تا اطلاعات منابع S1 را درخواست کند.

در نتیجه ، S1 می تواند اطلاعات کنترل دسترسی S2 را از طریق مرکز مدیریت درخواست کند.

قبل از اتصال یک دستگاه IoT به نزدیکترین مرکز مدیریت ، دستگاه ابتدا باید آدرس IP هاب را کشف کند.

می توانید چندین مکانیسم برای کشف نزدیکترین گره مرکز مدیریت وجود داشته باشد اما روشی که در اجرای ما استفاده می شود یک مکان پیش فرض را برای هر دستگاه فرض می کند.

سپس هاب مدیریت ، پیام دستگاه را به یک پیام RPC [16] ترجمه کرده و آن را برای شبکه مجهز به شبکه blockchain متصل به آن ارسال می کند.

این عملیات اطلاعات مربوط به blockchain ذخیره شده در معدن را پرس و جو می کند.

اساساً این بدان معناست که عملیات معامله نیست و در بلاکچین ذخیره نمی شود.

در نتیجه عملیات بلافاصله پردازش می شود و هیچ هزینه ای را متحمل نمی شود.

هنگامی که معدنچی درباره سیاست دسترسی S1 به مرکز مدیریت اطلاع می دهد ، مرکز مدیریت پاسخ به S1 را ترجمه می کند.

S1 بسته به اطلاعات دریافت شده توسط مرکز مدیریت ، بر این اساس عمل می کند.

شکل 3 پاسخ موفقی را نشان می دهد و بنابراین ، S1 اطلاعات منبع را به S2 می فرستد.

د- محدودیت های سیستم:

اتخاذ فناوری blockchain در راه حل ما ، نحوه مدیریت دستگاه های IoT را بهبود می بخشد.

با این حال ، فن آوری blockchain دارای برخی از مشخصات فنی است که می تواند راه حل ارائه شده در این مقاله را محدود کند.

در این بخش این تکنیک ها توضیح داده شده و روش هایی برای غلبه بر آنها توضیح داده شده است.

1) هزینه Cryptocurrency:

هزینه Cryptocurrency یک بخش اساسی از سیستم عامل های محاسباتی مبتنی بر blockchain است.

تمام معاملات شامل هزینه ای می باشد و در صورت موفقیت با موفق شدن یکی از بلوک های استخراج شده خود را در این بلاکچین ، مبلغ مشخصی از پول cryptocurrency دریافت می کند.

در برخی از سرفصل های عمومی حداقل مبلغ هزینه لازم برای پذیرش معامله وجود دارد.

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

در معماری ما ، دستگاه های IoT متعلق به خود شبکه blockchain نیستند.

گره های توپی مدیریت پیام های دستگاه ها را به پیام های RPC ترجمه کرده و آنها را به شبکه blockchain منتقل می کنند.

در حقیقت ، جستجوی اطلاعات از blockchain هیچ هزینه ای را متحمل نمی شود و بنابراین ، هاب مدیریت می تواند از هر دستگاهی اطلاعات را به صورت رایگان درخواست کند.

با این وجود ، فقط گره های مدیر قادر به ایجاد معاملات از طرف دستگاه ها هستند و همچنین باید از طرف آنها هزینه های معاملات را بپردازند.

2) زمان پردازش:

این یک واقعیت است که معاملات برای ورود به blockchain زمان لازم دارند.

از زمان نوشتن این مقاله ، معاملات [5] BitCoin می توانند تا 10 دقیقه و 12 ثانیه در Ethereum انجام شوند [10].

با این حال ، همانطور که قبلاً گفته شد ، گره های مرکز مدیریت نیازی به استفاده از معاملات برای درخواست اطلاعات از شبکه blockchain ندارند.

مرکز مدیریت می تواند اطلاعات را بلافاصله از گره blockchain متصل به آن پرس و جو کند.

بنابراین ، مرکز مدیریت می تواند اطلاعات را در زمان واقعی به دستگاه ها ارائه دهد.

با این حال ، معاملات ایجاد شده توسط گره های مدیر ممکن است تاخیر طولانی داشته باشد.

در بعضی شرایط ممکن است صبر کردن برای چنین زمانی ناکافی باشد.

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

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

یک راه حل ممکن برای غلبه بر آن ضرر ، معرفی یک پارامتر تاریخ انقضا در عملیات قرارداد هوشمند است.

به این ترتیب ، قوانین سیاست می توانند پس از مدت معینی به طور خودکار منقضی شوند.

از آنجا که زمان واقعاً در blockchain مشخص نشده است ، در عوض می توان مدت انقضا را به عنوان تعداد بلوک های پذیرفته شده در blockchain ترجمه کرد.

بنابراین ، یک قانون خاص می تواند پس از تعداد مشخصی از بلوک های ماین منقضی شود.

این راه حل این پرونده را حل نمی کند که یک قاعده در یک قرارداد هوشمند بلافاصله قبل از زمان انقضای آن ابطال شود.

این موارد خاص هنوز برای حل مشکل با استفاده از blockchain بسیار دشوار است.

بهترین راه این است که هزینه های معامله بالاتر برای عملیات ابطال به حداقل برسد تا زمان صرف شده برای اضافه کردن عملیات ابطال به شبکه blockchain به حداقل برسد.

III- اجرای:

ما یک آزمایش اثبات مفهوم (PoC) از سیستم کنترل دسترسی غیرمتمرکز برای آزمایش و ارزیابی آن تهیه کردیم.

در بخش زیر جزئیات بیشتری در مورد اجرای ما به ویژه در مورد دستگاه های IoT ، مرکز مدیریت و شبکه blockchain ارائه شده است.

الف - شبکه Blockchain:

فن آوری انتخاب شده blockchain برای اثبات اجرای مفهوم اتریوم [10] بود.

ما نمونه اولیه خود را در شبکه خصوصی اتریوم خود تحت یک بلوک پیدایش عمومی توسعه دادیم.

ما یک blockchain خصوصی را انتخاب کردیم زیرا تمام عناصر نمونه اولیه ابعاد بیشتری دارند و نتایج ارزیابی دقیق تری نسبت به یک blockchain عمومی هنگام ارزیابی سیستم ارائه می دهند.

با این حال ، هدف از این اجرای ، استقرار آن در بلاکچین های عمومی در سناریوهای واقعی است.

Ethereum یک بستر برنامه نویسی است که شامل یک زبان برنامه نویسی کامل Turing با نام Solidity4 است که می تواند برای ساخت ، استقرار و اجرای قراردادهای هوشمند مورد استفاده قرار گیرد.

این قراردادها از نظر اندازه هیچ محدودیتی ندارند و در تابلوچین ذخیره می شوند.

دو نوع حساب در اتریوم وجود دارد.

شخصی به نام حساب خارجی ، به این معنی که توسط کلیدهای خصوصی و حسابهای قرارداد تحت کنترل کد قرارداد کنترل می شود. وقتی حساب قرارداد پیام دریافت می کند ، کد اجرا می شود.

تمام مدیران در معماری ما حساب خارجی دارند در حالی که قرارداد هوشمند تحت یک حساب قرارداد مستقر شده است.

علاوه بر این ، اتریوم از نوع کارهایی که اطلاعات مربوط به blockchain را درخواست می کند پشتیبانی می کند بدون نیاز به هزینه تراکنش از آنجا که نیازی به مین گذاری نیست.

این عملیات را Call (Call) می نامند و در یک قرارداد هوشمند از یک عملکرد استفاده می کنند.

چنین عملیاتی در مراکز مدیریتی برای جستجوی اطلاعات از سیستم کنترل دسترسی استفاده می شود.

1) قرارداد هوشمند:

قرارداد هوشمند منفرد در سیستم ما با استفاده از زبان برنامه نویسی Solutions انجام شد.

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

ساختار داده ای که برای ذخیره اطلاعات استفاده می شود Mapping نام دارد.

ساختارهای نقشه برداری شبیه به جدولهای هش است که مقادیر از ابتدا با کلیه کلیدهای ممکن آغاز می شوند.

نقشه برداری ترکیب انواع داده های مختلف را برای تشکیل یک نوع داده یکپارچه تسهیل می کند.

2) مرکز مدیریت:

هاب مدیریت یک رابط JavaScript است که به دستگاه های IoT کمک می کند تا با شبکه blockchain ارتباط برقرار کنند.

این رابط با استفاده از API Java3cript Java3cript برای برقراری ارتباط با گره Ethereum از طریق تماسهای RPC و یک کتابخانه CoAP JavaScript به نام node-coap5 برای ارتباط با دستگاههای IoT استفاده می کند.

دستگاه های IoT:

دستگاه ها با استفاده از کتابخانه LibCoAP6 پیاده سازی می شوند.

LibCoAP یک اجرای C از CoAP است.

این می تواند با استفاده از چارچوب tinydtls7 ، امنیت لایه حمل و نقل را پشتیبانی کند.

کد LibCoAP اصلاح شد تا به طور خودکار یک کلید عمومی / خصوصی در هر دستگاه تولید شود.

کلید 20 بایت طولانی است و برای شناسایی منحصر به فرد دستگاه ها در سیستم مدیریت استفاده می شود.

این کتابخانه یک مشتری CoAP و یک سرور CoAP را پیاده سازی می کند.

سرور CoAP در نظر گرفته شده است در حالی که مشتری CoAP پیام های درخواست CoAP را ایجاد می کند ، به درخواست های CoAP گوش دهد و به آنها پاسخ دهد.

IV- ارزیابی:

Ethereum [10] یکی از محبوب ترین سیستم عامل های محاسباتی توزیع شده مبتنی بر blockchain است.

در نتیجه ، ادبیات از قبل عملکرد و قابلیت مقیاس پذیری را در اختیار تجزیه و تحلیل گسترده و معیارهای 89 سکو و کلاینت های آن 10 قرار می دهد.

به همین دلیل ، این بخش عمداً ارزیابی شبکه اتریوم را نادیده گرفته و مؤلفه های جدید معرفی شده در معماری ما را که جزء شبکه اتریوم نیستند به این ترتیب هدف قرار می دهد:

مرکز مدیریت و دستگاههای IoT.

در این بخش ، ما ارزیابی می کنیم که چگونه معرفی گره های توپی مدیریت در سیستم blockchain بر تأخیر کلی معماری تأثیر می گذارد.

در طول این خطوط ، ما ارزیابی می کنیم که آیا ادغام کتابخانه DTLS و همچنین اتصال دستگاه های IoT با گره توپی مدیریت محدودیت فنی برای رویکرد ارائه شده در این مقاله است.

الف - راه اندازی آزمایش:

این آزمایشات بر روی دسکتاپ Ubuntu-16.04 با Intel®Core™i7-950@3.07GHz انجام شد.

ما از Docker11 و تصویری به نام vertigo / ethereum12 استفاده کردیم که از تصویر پیاده سازی golang برای سرویس گیرنده پروتکل Ethereum ethereum / client-go گرفته شده است.

سرگیجه کمی ساده شده است تا ساده تر اجرای شبکه خصوصی اتریوم ساده شود.

دستگاه های IoT نسخه تغییر یافته ما از کتابخانه LibCoAP را در همان دستگاه اجرا کردند.

برای ابعاد آزمایشات خود ، از یک ابزار معیار به نام CoAPBench13 استفاده می کنیم که از کالیفرنیا14 به عنوان پایه اجرای CoAP استفاده می کند.

CoAPBench ابزاری است که شبیه ApacheBench است و از مشتری های مجازی برای تحقق ضریب همزمانی تعریف شده استفاده می کند.

CoAPBench قبل از صدور درخواست بعدی ، درخواستهای قابل تأیید را ارسال می کند و منتظر پاسخ است.

در صورت گم شدن پیام ها ، مشتری پس از 10 ثانیه از کار می افتد و تلف را در یک پیشخوان جداگانه ثبت می کند.

CoAPBench ، به بهترین دانش ما ، تنها ابزار معیار موجود برای CoAP است.

با این حال ، این ابزار برای اهداف تست ما بسیار محدود بود و تصمیم گرفتیم آن را با قابلیت های جدید گسترش دهیم.

پس از اصلاحات ، CoAPBench قادر به ارسال پیامهای POST ، PUT و DELETE بوده و امکان تعیین بار در پیامهای درخواست را فراهم می کند.

ب- عملکرد:

برای این آزمایش ، ما ارزیابی می کنیم که چگونه معرفی گره هاب مدیریت در سیستم blockchain بر تأخیر عملیات کنترل دسترسی در سیستم تأثیر می گذارد ، همانطور که در شکل 5 نشان داده شده است.

ابتدا عملکرد مرکز مدیریت را بطور مستقل ارزیابی می کنیم ، یعنی مجموعه ای از دستگاههای مجازی IoT از ابزار CoAPBench به طور مستقیم با مرکز مدیریت متصل می شوند.

در این سناریو ، ما مشتری های مجازی را پیکربندی می کنیم تا درخواست دسترسی یک دستگاه خاص IoT به یک منبع در دستگاه IoT دیگر را درخواست کنند.

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

در سناریوی دوم ما ، عملکرد یک دستگاه IoT متصل به یک گره توپی مدیریت را ارزیابی می کنیم ، یعنی مجموعه ای از دستگاه های IoT مجازی از ابزار CoAPBench اطلاعات منابع دستگاه IoT دیگری را که به نوبه خود به یک مرکز مدیریت متصل است درخواست می کنیم. .

تمام دستگاه های IoT در این سناریو با کتابخانه DTLS نیز ادغام می شوند.

این سناریو عملکرد را ارزیابی می کند زیرا یک دستگاه IoT اطلاعات یک منبع را از یک دستگاه دیگر IoT درخواست می کند تا زمانی که آن اطلاعات را بدست آورد.

در این سناریو ، مجموعه ای از دستگاه های IoT مجازی از ابزار CoAPBench اطلاعات منبع را از یک دستگاه IoT به نام IoT Device در شکل 5 درخواست می کنند.

دستگاه IoT دارای یک نسخه اصلاح شده از کتابخانه LibCoAP شامل یک کتابخانه DTLS است و به عنوان یک سرور CoAP عمل می کند.

دستگاه IoT قبل از ارائه اطلاعات منابع به هر دستگاه مجازی IoT از CoAPBench ، مجوز دسترسی را از مرکز مدیریت درخواست می کند.

مرکز مدیریت ، همزمان ، اطلاعات را از شبکه blockchain درخواست می کند.

هنگامی که مجوز از شبکه blockchain بدست آمد و از طریق مرکز مدیریت به دستگاه IoT منعکس شود ، دستگاه IoT اطلاعات مربوط به آن منبع را به این صورت اعطا یا رد می کند.

در هر دو سناریو ، شبکه blockchain تمام درخواست ها را به همه منابع اعطا می کند.

علاوه بر این ، آزمایش ها در هر دو سناریو با تعداد متفاوتی از مشتری های همزمان انجام شد.

برای محاسبه مقادیر میانگین و تعداد مشتری های همزمان از 1 تا 10،000 هر آزمایش 5 بار و به مدت 30 ثانیه انجام شد.

شکل 6a نتایج هر دو سناریو را نشان می دهد.

توجه داشته باشید که هر دو شکل 6a و 6b از یک مقیاس لگاریتمی استفاده می کنند.

سناریوی اول (به عنوان قطب مدیریت در شکل نامیده می شود) نشان می دهد که چگونه توان در مرکز مدیریت از 500 درخواست در ثانیه افزایش می یابد تا رسیدن به توان ثابت 950 درخواست در هر ثانیه با 10 مشتری همزمان به حداکثر ظرفیت خود برسد.

عملکرد به آرامی فراتر از آن نقطه کاهش می یابد.

همانطور که در شکل 6b نشان داده شده است ، کاهش عملکرد مستقیماً با تعداد پیامهای درخواست زمانبندی همراه است.

علاوه بر این ، سناریوی دوم (با نام دستگاه IoT در شکل) در طی تمام آزمایشات با 500 درخواست در ثانیه به یک توان ثابت می رسد.

در این سناریو ، کلیه مشتری های هم زمان اطلاعات منابع را از یک دستگاه منفرد IoT (که در شکل 5 به عنوان دستگاه IoT نشان داده شده است) درخواست می کنند و در نتیجه ، تأخیر بین هاب مدیریت و این مشتری IoT منفرد عملکرد کل این را محدود می کند. سناریو.

به همین دلیل ، عملکرد دقیقاً با یک مشتری همزمان در هر دو سناریو یکسان است.

به طور کلی ، در هر دو سناریو ، عامل محدودکننده تأخیر در واکشی اطلاعات کنترل دسترسی از شبکه blockchain بود.

به عنوان یک مبدل اصلی ، راه حل ما از انتظار منتظر شبکه شبکه blockchain برای انتشار اطلاعات کنترل دسترسی رنج می برد.

این انتظار بر عملکرد سیستم ما تأثیر منفی می گذارد.

با این وجود ، مرکز مدیریت با حداکثر 1000 مشتری همزمان و بدون اتلاف بیش از حد با 900 درخواست در ثانیه بهترین عملکرد را دارد.

ما با توجه به اینکه WSN می تواند چندین گره توپی مدیریتی به آن متصل باشد ، عملکرد مرکز مدیریت را قابل قبول می دانیم.

عملکرد سناریوی دستگاه IoT از نظر مقیاس پذیری قابل قبول است اگر در نظر بگیریم که دستگاه های IoT از نظر ماهیت محدود هستند و قابلیت های سخت افزاری آنها در بسیاری موارد عامل محدود کننده بسیار بزرگتر از نرم افزار خواهد بود.

V- آنالیز امنیت:

امنیت در هر سیستم مدیریتی از اهمیت ویژه ای برخوردار است و سیستم ما نیز نباید از این قاعده مستثنا باشد.

اگرچه طراحی سیستم ما با هدف تسهیل کنترل دسترسی منابع در سناریوهای محدود ، راه حل باید سطح رضایت بخشی از امنیت را فراهم کند.

در این بخش ، اصلی ترین موضوعات ممکن در معماری خود را شناسایی کرده و راه حل هایی را برای تضمین بهترین سطح امنیت ارائه می دهیم.

برای شناسایی تهدیدات موجود در سیستم ، از این سوال استفاده می کنیم که آیا یک یا چند نوع نخ کاربرد دارد یا از مدل STRIDE استفاده می کنیم.

STRIDE تهدیدها را به شش دسته طبقه بندی می کند ، و نام اختصاری آن از آنها نشات می گیرد:

کلاهبرداری ، دستکاری ، انکار ، افشای اطلاعات ، انکار سرویس و بالا بردن امتیازات.

همانطور که در جدول زیر نشان داده شده است ، هر یک از عناصر معماری ما مستعد مجموعه ای از تهدیدات است:

در نتیجه ، حتی اگر فناوری blockchain سطح خاصی از امنیت از قبیل صداقت و قابلیت اطمینان داده ها را فراهم می کند ، دستگاه های IoT جزئی از شبکه blockchain نیستند و باید به تصمیمات کنترل دسترسی خود بر روی گره های مرکز مدیریت متکی باشند.

هاب مدیریتی مخرب می تواند کلاهبرداری کند (جعل هوشیاری یک مرکز مدیریت) ، دستکاری (اصلاح اطلاعات کنترل دسترسی ارسال شده به دستگاه های IoT) ، رد کردن (ادعا نکردن عملی را انجام نداده است) ، DoS (تجزیه اطلاعات ارسال شده به دستگاه IoT) یا اطلاعات غیر مجاز دستگاههای IoT را فاش کنید.

گواهینامه های امضا شده می توانند آن مسئله را حل کنند.

گره های مرکز مدیریت می توانند از یک مجوز گواهی امضا کنند و دستگاه های IoT می توانند صحت گره های مرکز مدیریت را از طریق آنها تأیید کنند.

علاوه بر این ، از آنجایی که پرس و جوهای مربوط به دستگاههای IoT به گره های مرکز مدیریت برای مزایای عملکرد آشکار ، معاملات روی صفحه اصلی نیستند ، blockchain توانایی تأیید صحت اجرای قوانین کنترل دسترسی توسط گره های مرکز مدیریت را از دست می دهد.

این اطلاعات می توانند به صورت محلی در هر حوزه مدیریتی که دستگاههای IoT در آن قرار دارند ، ذخیره شوند.

از آنجا که دستگاه های IoT می توانند بخشی از حوزه های مختلف مدیریت در طول زمان زندگی خود باشند ، این اطلاعات در بسیاری از گره ها پخش می شود که باعث می شود حسابرسی و ردیابی آن دشوار شود.

برای سیستم های کنترل دسترسی مهم ، این blockchain می تواند گره های مرکز مدیریت را مجبور به استفاده از معاملات به جای نمایش داده شود.

این راه حل مجازات عملکردی را شامل می شود اما در برخی موارد خاص می تواند امنیت سیستم را افزایش دهد.

از طرف دیگر ، کشف نزدیکترین گره توپی مدیریتی در یک شبکه ، باید معتبر باشد ، همانطور که باید کشف آدرس قرارداد هوشمند توسط مدیران و گره های مرکز مدیریت نیز انجام شود.

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

علاوه بر این ، هنگامی که یک دستگاه IoT برای اولین بار در سیستم ثبت نام می کند ، یک مدیر مخرب در blockchain می تواند کنترل آن دستگاه را کنترل کند.

با این حال ، یک دستگاه IoT باید قبل از پذیرفتن عملکرد در blockchain ، ثبت نام را تحت مدیر تأیید کند.

در غیر این صورت ، هر مدیر می تواند هر دستگاهی را تحت کنترل خود ثبت کند.

تهدید مشابه می تواند زمانی اتفاق بیفتد که یک دستگاه IoT مخرب دستگاه دیگری را جعل کند.

در این حالت ، ارتباط بین دستگاه ها از طریق DTLS انجام می شود که از جلوگیری از فساد و همچنین استراق سمع و دستکاری جلوگیری می کند.

کار ششم:

ایجاد راه حل برای IoT نیاز به همکاری در بین فن آوری های مختلف دارد.

موضوع مشترک در این مقاله ترکیبی از blockchain ، کنترل دسترسی و اینترنت اشیاء است.

در این بخش با نگاهی به تحقیقات قبلی انجام شده برای مبحث ، میزان این فناوری ها در IoT بررسی شده است.

الف - Blockchain و Internet of Things:

Conoscenti و همکارانش [18] یک بررسی ادبیات منظم را در قالب صفحه اینترنت اشیا انجام دادند.

این نظرسنجی چندین مقاله را توصیف می کند که داده های جمع آوری شده توسط دستگاه های IoT را مدیریت می کنند.

به عنوان نمونه ، [19] سیستمی را برای تأیید هویت داده ها توصیف می کند و [20] روشی را برای حفظ مالکیت داده های دستگاه های IoT توصیف می کند.

بر خلاف مقاله ما ، هیچ یک از مقالات این نظرسنجی معماری را پیشنهاد نمی کنند که در آن مدیران بتوانند کل سیاست های دسترسی چرخه چرخه دستگاه های IoT را بدون توجه به موقعیت مکانی یا پیشرفت آنها مدیریت کنند.

به بهترین دانش ما ، تنها کار قبلی مربوط به راه حل ما [21] است که یک چارچوب کنترل دسترسی دسترسی مبتنی بر cryptocurrency به نام FairAccess را توصیف می کند.

با این حال ، تفاوتهای زیادی بین اثر در [21] و ما وجود دارد.

اول ، کار ما بر ایجاد یک قرارداد هوشمند واحد برای تعریف قوانین سیاست سیستم مدیریت متمرکز است.

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

در مقابل ، کار در [21] یک قرارداد هوشمندانه متفاوت برای سیاست کنترل دسترسی برای هر زوج درخواست کننده منابع ایجاد می کند.

دوم ، [21] شامل دستگاه های IoT در blockchain است.

ما بر تعداد گسترده ای از دستگاه های IoT متمرکز شده ایم که توانایی اجرای فناوری blockchain در سیستم های خود را ندارند.

سوم ، سیستم ما اطلاعات کنترل دسترسی را در زمان واقعی به دستگاه ها ارائه می دهد.

ب- کنترل دسترسی و اینترنت اشیاء:

مرجع [22] مروری گسترده در مورد راه حل های مختلف کنترل دسترسی در IoT ارائه می دهد.

این نظرسنجی مکانیسم کنترل دسترسی فعلی مورد استفاده در IoT را مشخص می کند و استدلال می کند که پروتکل های اینترنتی که معمولاً استفاده می شوند ، در هر صورت ، نمی توانند در محیط های محدود اعمال شوند.

[22] براساس بررسی گسترده ادبیات ، سه راه حل مجوز غیرمجاز و کنترل دسترسی را شناسایی و لیست می کند:

چارچوب DOAuth (احراز هویت آزاد غیر متمرکز) ، FairAccess [21] ، [23] و IBM Adept (تله متری غیر متمرکز غیر متمرکز) به طور خودکار [15].

با این حال ، همان مرجع راه حل های کنترل دسترسی مبتنی بر OAuth را به عنوان پروتکل سنگین برای سناریوهای IoT به دلیل ارتباطات و پردازش های کلیدی آن طبقه بندی می کند.

سپس ، راه حل IBM Adept برای ساختن برنامه های IoT یک چارچوب پیام رسانی و به اشتراک گذاری فایل فراهم می کند ، اما هنوز مکانیسم کنترل دسترسی را اجرا نمی کند.

FairAccess ، به بهترین دانش نویسندگان ، شباهت هایی با راه حل ما دارد ، اما همانطور که در بخش قبلی توضیح داده شد ، راه حل ما بسیار گسترده تر با تمرکز بر روی دستگاه هایی با قابلیت های محدود برای پشتیبانی از blockchain در سیستم های خود است.

شکل 7 ارزیابی کمی از راه حل های مختلف کنترل دسترسی را بر اساس روش ارزیابی تعریف شده در [22] نشان می دهد.

چارچوب IBM Adept از آنجایی که هنوز هیچ سیستم کنترل دسترسی را اجرا نمی کند در شکل نشان داده نشده است.

همانطور که از شکل نشان می دهد ، رویکرد ما نتایج بهتری را نسبت به روشهای موجود به ارمغان آورد.

علاوه بر این ، [22] از کارهای انجام شده در Open Mobile Alliance (OMA) به نام LWM2M [24] و کارهای انجام شده توسط IETF با عنوان CoAP Management Coface (CoMI) [25] نادیده گرفت.

LWM2M و CoMI پروتکل هایی برای مدیریت دستگاه IoT به شیوه ای متمرکز هستند.

بر خلاف آنها ، اجرای ما غیر متمرکز است و مبتنی بر چنین پروتکل هایی نیست.

VII- نتیجه گیری و کار آینده:

در این مقاله ، ما به مشکل مقیاس پذیری مدیریت دسترسی به میلیاردها دستگاه محدود شده در IoT می پردازیم.

مطمئناً ، سیستم های کنترل دسترسی متمرکز فاقد توانایی مقابله با افزایش بار کارآمد هستند.

در این مقاله یک سیستم مدیریت دسترسی جدید ارائه شده است که موضوعات مرتبط با مدیریت چندین دستگاه IoT محدود شده را کاهش می دهد.

راه حل کاملاً غیرمتمرکز و مبتنی بر فناوری blockchain است.

از آنجا که اکثر دستگاه های IoT تا حد زیادی محدود به پشتیبانی مستقیم از فناوری blockchain هستند ، دستگاه های IoT در طراحی ما به شبکه blockchain تعلق ندارند که ادغام دستگاه های IoT فعلی را برای سازگاری با سیستم ما آسان تر می کند.

هدف این مقاله تهیه یک سیستم کنترل دسترسی عمومی ، مقیاس پذیر و آسان برای مدیریت IoT و پیاده سازی نمونه اولیه اثبات مفهوم (PoC) است که طراحی ما را اثبات می کند.

با توجه به پیاده سازی و ارزیابی ما ، راه حل ما به خوبی بدلیل این واقعیت است که شبکه های محدود زیادی می توانند همزمان با استفاده از گره های خاص به نام گره های توپی مدیریت ، به شبکه blockchain وصل شوند.

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

به طور کلی ، راه حل ما قادر به سازگاری با سناریوهای مختلف IoT است که تأیید می کند که فناوری blockchain می تواند فناوری IoT را در کمال استفاده خود قرار دهد.

شناسائی:

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

کار اجرایی این مقاله تا حدی براساس پایان نامه کارشناسی ارشد با عنوان "استفاده از فناوری Blockchain و قراردادهای هوشمند برای مدیریت دسترسی در دستگاه های IoT" نوشته شده توسط روپشا باچی در اریکسون برای دانشگاه هلسینکی است.