همه چیز درباره ریموت و رسیور هاپینگ کد
همه چیز درباره ریموت و رسیور هاپینگ کد
مزیت امنیتی ریموت های هاپینگ کد امنیت همیشه و در همهی اعصار، مقولهی مهم و قابلتوجه ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. با فراگیر شدن اینترنت و گردش آزاد اطلاعات، امنیت بیشازپیش موردتوجه قرار گرفته و تبدیل به یک مسئلهی حساس و حیاتی شده است. تصور کنید اگر تلگرام دارای یک باگ اساسی باشد و هکرها بتوانند به اطلاعات میلیونها کاربر تلگرام دسترسی پیدا کنند، چه فاجعهای رخ میدهد یا اگر هکرها بتوانند کنترل نیروگاههای یک کشور را در دست بگیرند آن وقت است که فاجعهای در ابعاد ملی و انسانی رقم خواهد خورد (البته واضح است که منظور ما از هکر، هکرهای کلاهسیاه هستند).
معرفی اجمالی ریموت های هاپینگ کد
مزیت امنیتی ریموت های هاپینگ کد وقتی قرار باشد برای درب ورودی منزل یا مغازه، ریموت کنترل نصب کنید. همه ریموتهای هاپینگ را پیشنهاد میدهند و استدلال میکنند که این ریموتها از امنیت بیشتری نسبت به ریموتهای کد فیکس و کدلرن برخوردار هستند. ریموتهای کدلرن دارای یک کد 20 بیتی منحصربهفرد هستند که تکتک ریموتها را از هم تفکیک میکند یا در ریموتهای کدفیکس شما میتوانید با تعیین حالت 8 عدد پایه، کد موردنظر خود را ایجاد کنید.
چگونگی هک ریموتهای کد لرن تفاوت ریموت لرنینگ و هاپینگ کد
ریموتهای کد لرن و کد فیکس هر دو دارای یک شناسهی منحصربهفرد هستند که ریموت شما را از دیگر ریموتها جدا میکند. این شناسهی منحصربهفرد در ریموتهای کدفیکس (PT2262) با تغییر وضعیتِ پایهها، قابلتغییر است (عکس زیر ). این مسئله باعث شده که این نوع ریموتها در دستهای با امنیت پایینتر، حتی نسبت به ریموتهای کدلرن قرار بگیرند.
مزیت امنیتی ریموت های هاپینگ کد: فرض کنید شما از ریموت کد فیکس ( دیپ سوئیچی ) برای دزدگیر ماشین خود استفاده میکنید. اگر سارق بتواند نحوهی اتصال پایهها را متوجه شود (راههای مختلفی برای این مسئله وجود دارد که وارد جزئیات نمیشویم.) با خرید یک ریموت از همین مدل و تغییر پایههای موردنظر مطابق ریموت شما، بهراحتی و بدون دردسر میتواند دزدگیر ماشین شما را کنترل کند. اصلاً فرض کنیم نحوهی اتصال پایهها را نداشته باشد! آی سی PT2262 که در این ریموتها استفاده میشود، از 8 پایه برای آدرسدهی استفاده میکند که در مجموع با توجه به سه حالته بودن هر بیت (متصل به مثبت – متصل به منفی و بدون اتصال) قادر است تقریباً 6500 حالت مختلف را ایجاد کند.
نحوه ارسال کد در ریموتهای لرنینگ کد
در مورد ریموتهای کدلرن، مسئله مقداری متفاوت است. کد منحصربهفرد توسط کارخانهی تولیدکننده، در آی سی ریموت قرار میگیرد و کاربر نمیتواند آن را تغییر دهد. همین تغییر کوچک بهخودیخود باعث میشود که امنیت بهمراتب بالاتر برود؛ چرا که افراد نمیتوانند با دستکاری در مدار ریموت، آن را مثل ریموتهای دیگر تغییر دهند. همچنین کد مذکور 20 بیتی شده است که قادر است 1048576 حالت مختلف ایجاد کند.
ولی همچنان راه هک کردن آنها مسدود نشده است. هکرها می توانند پروتکل ارسال ریموت را شبیهسازی کنند و اگر بخواهند از طریق سناریو بالا (سعی و خطا) برای هک ریموت استفاده کنند، مدتزمانی در حدود 36 روز لازم است تا با تست کردن کدهای مختلف به کد موردنظر برسند. این احتمالاً در بدترین حالت است ولی خب باز امکانپذیر است. از طرفی هکر میتواند در شنود سیگنال ارسالی ریموت شما، آن را دکد کند و کد صحیح را بهدست بیاورد! این راه زیاد زمانبر نیست و فقط کافی است هکر در زمان درست در جای درست باشد. این ریموت نیز از امنیت بالایی برخوردار نیست و متأسفانه بخش بزرگی از ریموتهای درب منازل، از این نوع استفاده میکنند.
هک کردن همیشه نیاز به خلاقیت دارد. اینکه بتوانیم راهی که توسط سازنده دیده نشده را پیدا کنیم و با استفاده از آن سیستم را دور بزنیم، علاوه بر دانش کافی در خصوص نحوهی کارکرد و عملکرد سیستم، نیاز به خلاقیت نیز دارد. هکر واقعی انسان خلاقی است و در خصوص امنیت هیچوقت نمیتوان با اطمینان صحبت کرد.
همه چیز درباره ریموت و رسیور هاپینگ کد
سؤالی که مطرح میشود، این است که ریموتهای هاپینگ چه قابلیتی دارند که باعث میشود امنیت بیشتری در پروتکل آن وجود داشته باشد؟ قبل از هر اقدامی، برای اینکه بررسیها بر اساس واقعیت باشد، تعدادی ریموت هاپینگ از بازار تهیه کردیم. دو عدد از آنها را باز کردیم و چیپست و مدار آنها را موردبررسی قرار دادیم:چیپ مورداستفاده در هر دو مدل ریموت، hcs301 بود که تولید شرکت Microchip است. آی سی مذکور داری یک EEPROM داخلی است (در ادامه کاربرد آن را توضیح میدهیم) که قابلیت پروگرام شدن توسط کاربر را دارا است. یکی از ریموتها درگاه مناسبی برای پروگرام شدن دارد (عکس زیر) و دیگری متأسفانه فاقد چنین درگاهی است که واقعاً امیدوارم که چیپ، قبل از استفاده، پروگرام شده باشد.
امنیت در ریموتهای هاپینگ
رولینگ کد یا (آنطور که در بازار شناخته میشود) هاپینگ کد، از الگوریتمی استفاده میکند که در مقابل حملات تکرار (Replay attack) مقاوم است. نوع حملاتی که در موارد قبلی ذکر کردیم از این نوع حمله بودند؛ یعنی یا با شنود و یا با سعی و خطا، تلاش میکردیم کد صحیح را بدست آوریم، ولی این نوع ریموت در مقابل این نوع حملات مقاوم است. اما چطور؟ چیپست HCS301، یک انکدر KeeLoQ میباشد که قابلیت کدگذاری دادههای ارسالی را با استفاده از پروتکل KeeLoQ دارد.
مزیت امنیتی ریموت های هاپینگ کد
همه چیز درباره ریموت و رسیور هاپینگ کد. سیستم کدگذاری KeeloQ، از یک کلید 64 بیتی برای رمزگذاری داده استفاده میکند. در واقع پروگرام شدن آی سی به خاطر تنظیم همین کلید است. کاربر میتواند کلید موردنظر خود را برای دادههای ارسالی توسط ریموت تنظیم کند. به صورتی که فقط گیرندهی موردنظر ما که کلید را دارد، قادر به دکد دادههای دریافتی از ریموت باشد. اما این رمزگذاری چطور به بالا رفتن امنیت کمک میکند؟ برای روشن شدن قضیه به عکس زیر دقت کنید:
همانطور که در عکس میبینید، کدهای ارسالی از سمت ریموت، دارای سه بخش مجزا هستند:
- بخش ابتدایی که طبق دیتاشیت 6 بیت است و حاوی 4 بیت وضعیت کلیدهای فشرده است و 2 بیت هم وضعیت ریموت را گزارش میکنند (مثل ضعیف شدن باطری).
- 28 بیت ادامه، سریال ریموت است. این بخشها کدگذاری نشده است و بهراحتی میتوان آنها را شبیهسازی کرد.
- 32 بیت بعد حاوی اطلاعات کدگذاری شده است. این 32 بیت باعث ایجاد تفاوت چشمگیری در امنیت این نوع ریموتها شده است. کدگذاری با استفاده از 64 بیت دادهی ذخیرهشده در EEPROM صورت میگیرد.
مزیت امنیتی ریموت های هاپینگ کد
همانطور که در عکس فوق مشخص است، دادههای کدگذاری شده. حاوی 16 بیت شمارنده و 10 بیت DISC و 4 بیت هم وضعیت کلیدهای ریموت هستند. اما این دادهها چطور به امنیت کمک خواهند کرد؟ شاید مهمترین بخش وجود شمارنده در دادههای ارسالی از ریموت است. شمارنده با هر بار فشرده شدن کلید، یک واحد اضافه میشود. اگر کلید کدگذاری تنظیم شده باشد، هر گیرندهای که دادهها را دریافت میکند. قادر به رمزگشایی بخش کدگذاری شده نیست و نمیتواند دادههای آن را استخراج کند.
برای روشن شدن موضوع مثال فوق در خصوص ریموتهای کدلرن را با استفاده از این نوع ریموت تشریح کنیم. فرض کنید یک هکر با دستگاه مناسب مشغول شنود سیگنالها از ریموت شما است. و باز فرض کنید کانتر ریموت شما، مقدار 10 را دارد. دادههای ارسالی توسط گیرنده دریافت میشود و دزدگیر غیرفعال میشود. هنگام پیاده شدن، کلید ریموت را برای فعال کردن دزدگیر فشار میدهید. مقدار کانتر 11 میشود، کد ارسال و دزدگیر فعال میشود. هکر برای غیرفعال کردن دزدگیر ماشین، کد اول را دوباره شبیهسازی و ارسال میکند. اگر ماشین شما از تکنولوژی ریموتهای کدلرن و کدفیکس استفاده میکرد. دزدگیر غیرفعال میشد.
نحوه ارسال کد در ریموتهای هاپینگ
اما در ریموتهای هاپینگ این اتفاق نمیافتد. ریموت، سیگنال ارسالی هکر را دریافت، قسمت کد شده را دکد و مقدار کانتر را از آن استخراج میکند. بله مقدار آن 10 است. آخرین کدی که دریافت شده 11 بوده، پس مقدار 10 را غیرواقعی شناسایی میکند و به آن اهمیتی نمیدهد. هکر اگر بخواهد دزدگیر را غیرفعال کند باید کدی را ارسال کند که مقدار کانتر آن 12 باشد. چنین کاری مقدور نیست؛ چرا که کلید رمزگذاری را ندارد و نمیتواند دادهها را استخراج کند. این چنین است که این نوع ریموتها در مقابل هک شدن مقاومت بیشتری دارند.
قیمت ریموت هاپینگ
قیمت ریموت و برد هاپینگ کد بدلیل تکنولوژی بالاتر. همچنین در انحصار بودن کدهای ریموت و برد برای سازنده. به نحوی که اگر شما برد هاپینگ کدی در اختیار داشته باشید. ملزم به تهیه ریموت و دریافت خدمات تنها از سازنده آن هستید. باعث بالا رفتن قیمت ریموت و رسیور هاپینگ کد نسبت به ریموت لرنینگ و فیکس کد شده است.