در این مقاله به موضوعی خواهیم پرداخت که اغلب اوقات از آن چشمپوشی شده است؛ این موضوع چیزی نیست جز تعامل اطلاعات و دادههای واقعی با بلاک چین (Blockchain).
بلاک چین نیز همانند سایر سیستمها با مشکل “ورودی بیهوده، خروجی بیمصرف” (garbage in, garbage out) مواجه است. زیرساختهای بلاک چین نمیتوانند صحت اطلاعاتی که به صورت درون زنجیرهای تولید نشدهاند و به صورت عمومی در دسترس نیستند را تضمین کند و متاسفانه این موضوع، بخش عمدهای از اطلاعات را شامل میشود. در نتیجه، اگر فرد یا دستگاهی اطلاعات اشتباه و یا حتی کلاهبردارانه وارد بلاک چین کند، به هیچوجه نمیتوان صحت این اطلاعات را تعیین کرد و با ورود دائم اطلاعات جعلی به سابقه بلاک چین مواجه خواهید شد. اگر اطلاعات بیهوده و اشتباه به بلاک چین وارد کنید، اطلاعات بیمصرف از بلاک چین دریافت خواهید کرد.
امروزه برنامههای مختلفی ایجاد شدهاند که مدعی هستند با یک لایه فناوری جدید، این مشکل را برطرف کردهاند. در ادامه به بیان چند مورد از آنها میپردازیم.
بازارهای اطلاعات غیرمتمرکز: در این بازارها، شرکتها تشویق میشوند تا با دریافت توکنهای مختلف، اطلاعات خود را برای فروش قرار دهند؛ اما از کجا میتوانیم متوجه شویم که اطلاعات خریداریشده، واقعی هستند؟
استعلام با حفظ حریم خصوصی: سرویسی که طی آن، تعداد افراد با سرمایههای خالص زیاد را میتوان از طریق گواه اثبات دانش صفر تعیین کرد. بنابراین بدون آن که بانک، اطلاعات مشتریان خود را به شما بدهد، میتوانید تعداد این افراد را به دست آورید. اما از کجا میتوان اطمینان حاصل کرد که بانک، ما دیتابیس مشتریان خود را دستکاری نکرده باشد؟
برای اطلاعاتی که به صورت عمومی در دسترس هستند، میتوان یک بازی طراحی کرد که طی آن، بازیکنان همدیگر را در خصوص صحت اطلاعات ارائه شده به چالش بکشند. چین لینک (ChainLink) و چند پروژه بلاک چین دیگر چنین رویکردی دارند. اما در اینجا نیز این موضوع وجود دارد که بخش عمدهای از اطلاعات به صورت عمومی در دسترس نیستند.
در نتیجه چگونه میتوان به این مسأله رسیدگی کرد؟ کلید حل این مشکل در ایمنسازی اطلاعات از مقصد و منبع اطلاعات است.
ایمنسازی منبع اطلاعات: رویکردی بسیار کاربردی برای بلاک چین
اگر اطلاعات به جای منبع اصلی، از طریق واسطه شخص ثالث به دست آید، بدون اعتماد داشتن به واسطه نمیتوان به صحت اطلاعات اعتماد کرد؛ هر چه واسطههای بیشتری در مدیریت اطلاعات وجود داشته باشند، باید به واسطههای بیشتری اعتماد کنید.
در این شرایط، هدف اصلی دریافت اطلاعات از جایی است به منبع نزدیکتر است. برای مثال، به جای دریافت اطلاعات فروش از دیتابیس یک خردهفروشی، بهتر است اطلاعات را از سخت افزار فروش دریافت کنید. به جای دریافت اطلاعات از وبسایت اعلام آبوهوا، بهتر است اطلاعات را از سنسورهای تشخیص آب و هوایی دریافت کنید که به صورت مستقیم اطلاعات را جمعآوری میکنند. به جای مطالعه گزارش PDF شرکتی که مدیریت یک پل را به عهده دارد، بهتر است اطلاعات خام را از دوربینها و سنسورهای نصب شده بر روی پل دریافت کنید.
ایمنسازی اطلاعات در منبع چگونه انجام میشود؟
از آنجایی که اکثر اطلاعات توسط دستگاهها ایجاد یا دریافت میشود، به بررسی نحوه ایمنسازی اطلاعات ایجاد شده توسط دستگاهها میپردازیم. در این خصوص، با ۳ نقطه آسیبپذیر بالقوه مواجه هستیم:
- هویت: از کجا میدانید که اطلاعات توسط چه چیزی ایجاد میشود؟ آیا این اطلاعات از سنسور تشخیص دمای مدنظر شما است یا از تولیدکننده عدد تصادفی از جانب عامل مخرب؟
- پردازش و انتقال: حتی اگر منبع اطلاعات، واقعی و قابل شناسایی باشد، از کجا میدانید که اطلاعات تغییر نکردهاند، دستکاری نشدهاند طی پردازش و انتقال تغییر نکردهاند؟
- رابط کاربری دیجیتال و آنالوگ: حتی اگر مراحل هویت، پردازش و انتقال به درستی صورت بگیرد، چگونه میتوان از تغییر روش جمعآوری اطلاعات توسط دستگاه با ارائه سیگنالهای ورودی جعلی به دستگاه جلوگیری کرد؟
در ادامه به بررسی هر کدام از این موارد خواهیم پرداخت.
هویت
به منظور اطمینان حاصل کردن از این موضوع که از هویت و انسجام دستگاه تولید کننده اطلاعات محافظت میشود، میتوان مجموعهای از کلیدهای عمومی و خصوصی را به دستگاه ضمیمه کرد و روشهایی را به کار برد که از صحت سخت افزار و اطلاعات تولید شده توسط آن اطمینان حاصل شود؛ اما این بخش آسان ماجرا است.
بخش مهم این است که از کجا میتوان اطمینان حاصل کرد این هویت غیر قابل سرقت و فقط برای دستگاه مشخص است؟ میتوانید از عامل امنیت فیزیکی (Secure element) استفاده کنید. Secure Element سختافزاری است که میتواند جفت کلیدهای عمومی و خصوصی در تراشه تولید کند و به شدت در مقابل دستکاری مقاوم است.
Secure Element معمولا فقط یک کار انجام میدهد: امضای پیام که روشی موثر در ارائه گواه اثبات هویت است. اگر کارت اعتباری یا گوشی هوشمند داشته باشید، میتوان گفت که هماکنون از عملکردهای یک Secure Element بهرهمند شدهاید.
پردازش و انتقال
برای تضمین ایمن بودن پردازش و انتقال اطلاعات، از میکروکنترلر (MCU) با بوت امن (Secure Boot) استفاده میکنیم. میتوانید میکروکنترلر را به عنوان یک رایانه بسیار ساده در نظر بگیرید. بوت امن (SB) اطمینان حاصل میکند که فقط یک فرد یا نهاد با کلید خصوصی صحیح میتواند برنامهها را در MCU بارگذاری کند. منطق این برنامه و چکسامهای مرتبط را میتوان زودتر با ذینفعان به اشتراک گذاشت یا حتی به صورت متن باز در آورد.
نکته مهم بعدی این است که پس از آزمایش کامل برنامه، باید تمام عملکردهای اصلاح را از برنامه و MCU غیرفعال کنیم. این اقدام به منظور آن است که از غیر قابل تغییر بودن منطق برنامه حتی توسط سازنده نیز اطمینان حاصل شود.
این موضوع معایب و نقاط ضعف مشخصی ایجاد میکند. معایبی نظیر آن که دیگر برنامه مورد نظر را نمیتوان بهروزرسانی کرد. اما در عوض، دستگاه کاملا از دستکاری و مداخلههای خارجی مصون میماند.
رابط کاربری دیجیتال و آنالوگ
این مشکل کمی پیچیدهتر است و نمیتوان آن را با استفاده از سخت افزار جمعآوری اطلاعات و دستگاه واسطه برطرف کرد. مکانیزمهای نوآورانهتری باید ارائه شود تا از عدم مداخله در رابط کاربری اطمینان حاصل شود؛ اما این موضوع به شدت وابسته به برنامه است. با ذکر مثال به توضیح این مورد میپردازیم.
فرض کنید یک کامیون یخچالی دارید که بخشی از ناوگان شرکت زنجیرهای حمل و نقل است و وظیفه آن، تحویل ماهی تازه به سوپر مارکتهای محلی است. به منظور تضمین حفظ کیفیت، ماهیها باید در دمای مشخصی نگهداری شوند. اگر دما بسیار زیاد باشد، ماهی خراب میشود. اگر دما بسیار پایین باشد، مزه و بافت داخلی ماهی کیفیت خود را از دست میدهد. به منظور آن که اطمینان حاصل شود شرکت حمل و نقل به محدوده دمای ذکر شده در قرارداد پایبند است، سوپر مارکت یک دماسنج در کامیون قرار میدهد.
اما اگر راننده دماسنج را بیرون بیاورد و آن را در محفظه یخ جلوی کامیون قرار دهد، در حالی که دمای یخچال را افزایش میدهد تا در هزینه انرژی صرفهجویی کند، چه اتفاقی رخ میدهد؟ دماسنج نمیتواند تشخیص دهد که جابجا شده است و همچنان به جمعآوری اطلاعات و گزارش آنها بر اساس مفاد قرارداد ادامه میدهد. در واقع، دماسنج فریب خورده است.
یکی از روشهای کاهش این ریسک، نصب و محکم کردن دماسنج در داخل یخچال است تا جداکردن آن غیرممکن شود. اما باز هم احتمال دور زدن این روش وجود دارد؛ برای مثال کیسه یخی دور دماسنج نصب کرد و دمای خود یخچال را افزایش داد.
روش بهتر دیگر، پلمپ کردن بستههای ماهی با دماسنجهای جداگانه در هر بسته است. بنابراین اگر راننده بخواهد دماسنج را بیرون بیاورد، باید پلمپ را بشکند که این کار به راحتی قابل تشخیص است و شرایط قرارداد را فسخ میکند.
در آخر، برای برطرف کردن مشکل رابط کاربری دیجیتال و آنالوگ، نوآوری بسیار زیادی لازم است و راهکارها نیز به شدت متکی و مرتبط با برنامه مورد نظر هستند.
کلام آخر
هنگام ارائه و معرفی راهکارهای بلاک چین به مشتریان شرکتی، یادآوری این نکته بسیار مهم است که صرفا به کارگیری بلاک چین برای اینترنت اشیا (IoT) بلااستفاده است.
باید در ابتدا اطمینان حاصل کنیم که اطلاعات تولید و جمعآوری شده از دستگاههای مرتبط قابل اعتماد هستند و تحت تاثیر هیچ اقدام دیگری قرار نگرفتهاند.