انواع ریموت های RF از نظر امنیت
در این مقاله قصد داریم انوع ریموت های RF یا رادیویی رو برسی کنیم و از نظر امنیت به چالش بکشیم . امنیت همواره در همه ی دوره ها اهمیت بالایی داشته است . باعث شده تا بشر همیشه به دنبال راهکاری برای افزایش امنیت اطلاعات خود باشد . که به واسطه ی آن دست به اختراعات مختلفی زده است . با افزایش روزافزون اطلاعات و عصر ارتباطات ، فناوری های جدید و همچنین اینترنت ، اهمیت حفظ اطلاعات چندین برابر شده است .
معرفی مختصر ریموت ها
اگر تا بحال برای خرید ریموت کنترل به بازار مراجعه کرده باشید . حتما واژه هایی مثل فیکس کد ( Fixed Code ) و لرنینگ کد یا کد لرن (Learning Code ) و یا هاپینگ ( Hopping ) به گوشتان خورده است .
اگر برای شما هم این سوال بوجود آمده که این ریموت ها چه تفاوتی از لحاظ کارایی وامنیت دارند . یا کدام یک بهتر است ؟ با ما همراه باشید تا علت آن را بدانیم .
ریموت کنترل فیکس کد ( Fixed Code )

ریموت کنترل های فیکس کد معمولا از آی سی PT2262 به عنوان انکودر در مدار فرستنده استفاده می کنند . در این نوع از ریموت کنترل ها در مدار فرستنده با استفاده از یک کد 8 بیتی به صورت سخت افزاری تنظیم می گردد . تعداد حالت های ریموت کنترل فیکس کد معمولا 8*3 است . که برابر 24 حالت می شود .
این کد به عنوان آدرس محرمانه فرستنده در نظر گرفته می شود . برای هماهنگی فرستنده وگیرنده باید کد 8 بیتی هر دو یکی باشد . این کد به صورت سخت افزاری در فرستنده تنظیم می شود . این کار معمولا به صورت لحیم کردن 8 پایه فرستنده به GND یا VCC است . فرض کنید شما از این مدل ریموت برای دزدگیر ماشین خود استفاده میکنید .
اگر سارق بتواند نحوهی اتصال پایهها را متوجه شود . با خرید یک ریموت از این مدل و تغییر پایههای موردنظر مطابق ریموت شما بهراحتی و بدون دردسر میتوانید دزدگیر ماشین خود را کنترل کند .
اصلاً فرض کنید نحوهی اتصال پایهها را نداشته باشد .! آی سی PT2262 که در این ریموتها استفاده میشود ، از 8 پایه برای آدرسدهی استفاده میکند . در مجموع با توجه به سه حالته بودن هر بیت ( متصل به مثبت – متصل به منفی و بدون اتصال ) . قادر است تقریباً 6500 حالت مختلف را ایجاد کند .
اگر دستگاهی بسازیم که حالتهای مختلف را ایجاد کند . هر حالت 3 ثانیه تداوم داشته باشد . بهراحتی در مدتزمان 5 ساعت می تواند کد ریموت موردنظر را پیدا کند .
ریموت کنترل های لرنینگ کد یا کد لرن ( Learning Code)

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