انواع ریموت های RF از نظر امنیت

انواع ریموت های RF

انواع ریموت های RF از نظر امنیت

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

معرفی مختصر ریموت ها


اگر تا بحال برای خرید ریموت کنترل به بازار مراجعه کرده باشید . حتما واژه هایی مثل فیکس کد ( Fixed Code ) و لرنینگ کد یا کد لرن (Learning Code ) و یا هاپینگ ( Hopping ) به گوشتان خورده است .

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

ریموت کنترل فیکس کد ( Fixed Code )

ریموتpt2262
مدار ریموت 4 کانال با pt2262

 

ریموت کنترل های فیکس کد معمولا از آی سی PT2262 به عنوان انکودر در مدار فرستنده استفاده می کنند . در این نوع از ریموت کنترل ها در مدار فرستنده با استفاده از یک کد 8 بیتی به صورت سخت افزاری تنظیم می گردد . تعداد حالت های ریموت کنترل فیکس کد معمولا 8*3 است . که برابر 24 حالت می شود .

این کد به عنوان آدرس محرمانه فرستنده در نظر گرفته می شود . برای هماهنگی فرستنده وگیرنده باید کد 8 بیتی هر دو یکی باشد . این کد به صورت سخت افزاری در فرستنده تنظیم می شود . این کار معمولا به صورت لحیم کردن 8 پایه فرستنده به GND یا VCC است . فرض کنید شما از این مدل ریموت برای دزدگیر ماشین خود استفاده می‌کنید .

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

اصلاً فرض کنید نحوه‌ی اتصال پایه‌ها را نداشته باشد .! آی سی PT2262 که در این ریموت‌ها استفاده می‌شود ، از 8 پایه برای آدرس‌دهی استفاده می‌کند . در مجموع با توجه به سه حالته بودن هر بیت ( متصل به مثبت – متصل به منفی و بدون اتصال ) . قادر است تقریباً 6500 حالت مختلف را ایجاد کند .

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

 

ریموت کنترل های لرنینگ کد یا کد لرن ( Learning Code)

ریموت کدلرن
ریموت کدلرن 4 کانال ساخته شده با ev1527

ریموت کنترل ها ی کد لرن از آی سی EV1527 یا RT1527 یا FP1527 به عنوان اینکودر در مدار فرستنده بهره می برند . در ریموت های کد لرنینگ یا کد لرن نیز کد آدرس یک کد 8 بیتی است . که می تواند 24 آدرس یکتا را ایجاد نماید .

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

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

کاربر نمی‌تواند آن را تغییر دهد . همین تغییر کوچک به ‌خودی‌خود باعث می‌شود که امنیت به‌مراتب بالاتر برود .

چرا که افراد نمی‌توانند با دست‌کاری در مدار ریموت ، آن را مثل ریموت‌های دیگر تغییر دهند .
در سیستم کد لرن شما می توانید یک ریموت ویژه خود داشته باشید .! مثلا فرض کنید درب پارکینگ ، درب انبار و درب مغازه شما هر سه برقی باشند .

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

امنیت در ریموت ها کد لرن :

در مورد ریموت کد لرن می توان گفت ، همچنان راه هک کردن آن‌ها مسدود نشده است .

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

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

مدت‌زمانی در حدود 36 روز لازم است تا با تست کردن کدهای مختلف به کد مورد‌نظر برسند .

این احتمالاً در بدترین حالت است ولی باز امکان‌پذیر است .
از طرفی هکر می‌تواند در شنود سیگنال ارسالی ریموت شما ، آن را دکد کند . کد صحیح را بدست بیاورد .!

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

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

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

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

این شناسه‌ی منحصر‌به‌ فرد در ریموت‌های کدفیکس ( PT2262 ) با تغییر وضعیتِ پایه‌ها ، قابل‌تغییر است .

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

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

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

ریموت‌های هاپینگ ( Hopping )


ریموت‌های هاپینگ چه قابلیتی دارند که باعث می‌شود امنیت بیشتری در پروتکل آن وجود داشته باشد ؟


درباره ساختار و مدار داخلی آن می توان گفت چیپ مورد‌استفاده ریموت ، 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 باشد ولی چنین کاری مقدور نیست ؛ چرا‌ که کلید رمزگذاری را ندارد و نمی‌تواند داده‌ها را استخراج کند .