بلوتوث راه طولانی را با پروتکل های رمزگذاری برای تضمین امنیت شما طی کرده است. در اینجا نحوه رمزگذاری بلوتوث داده های شما را ایمن نگه می دارد.
بسیاری از دستگاههای الکترونیکی ما در طول سالها برای اتصال به فناوری بیسیم رفتهاند. بهجای سیمهای درهم پیچیده روی ماوس، صفحهکلید، هدفون و بلندگوها، موارد بیسیم با کاربری آسان و راحت داریم که به ما امکان میدهند حتی بهتر از فناوری لذت ببریم.
از آنجایی که بسیاری از این دستگاههای بیسیم به فناوری بلوتوث متکی هستند، بلوتوث SIG (مرجع فناوری بلوتوث) پروتکلهای امنیتی مختلفی را با حفظ راحتی و قابلیت اطمینان اضافه کرد.
آنچه امنیت بلوتوث را ممکن می کند، روش ها و الگوریتم های رمزگذاری هوشمندانه آن است. اگر به نحوه طراحی امنیت بلوتوث و استفاده از رمزگذاری علاقه مند هستید، به خواندن ادامه دهید.
آخرین نسخه های بلوتوث و حریم خصوصی کم انرژی
هدف امنیت بلوتوث ارائه پروتکلهای استاندارد برای دستگاههای دارای بلوتوث در مورد احراز هویت، یکپارچگی، محرمانه بودن و حریم خصوصی است که همگی از رمزگذاری استفاده میکنند. از سال 1998 استفاده شده است و قبلاً چندین بار تکرار شده است.
در سال 2010، با افزایش نیاز به فناوری بی سیم کوتاه برد بهتر، بلوتوث SIG نسخه جدیدتری از بلوتوث – بلوتوث 4.0 را توسعه داد. مهم ترین تفاوت بین نسل های قدیمی بلوتوث و بلوتوث 4.0 اضافه شدن BLE (بلوتوث کم انرژی) است.
توجه داشته باشید که “انرژی کم” در BLE به این معنی نیست که لزوماً انرژی کمتری مصرف می کند. این فقط به این معنی است که با دستگاه های کم انرژی مانند هدفون های بی سیم که حداقل ظرفیت باتری را دارند، به خوبی کار می کند.
از آنجایی که اکثر دستگاهها بر روی بلوتوث 4.0 و بالاتر کار میکنند، ما به طور خاص در مورد پشته طراحی این نسخههای جدیدتر بحث خواهیم کرد. علاوه بر این، این نسخه بسیاری از مشکلات امنیتی نسل های قبلی بلوتوث را حل کرد.
نسخههای فعلی بلوتوث در حال حاضر از پشته BLE که در زیر نشان داده شده است استفاده میکنند:
ما به قطعهای از لایه چهارم پشته معروف به مدیریت امنیت علاقهمندیم که همه چیز مربوط به احراز هویت، امنیت، محرمانه بودن و حریم خصوصی را مدیریت میکند. مدیر امنیت پروتکل های خود را از طریق جفت شدن و اتصال دستگاه ها پیاده سازی می کند.
روش های جفت سازی BLE
جفت شدن بخشی جدایی ناپذیر از مدیریت امنیت بلوتوث است. اگر دستگاهی که به آن وصل میشوید احراز هویت میکند و سپس یک کلید رمزگذاری برای هر دو دستگاه ایجاد میکند تا در طول جلسه از آن استفاده کنند.
دستگاه های شما می توانند از چندین روش احراز هویت برای اطمینان از اتصال شما به دستگاه مورد نظر استفاده کنند. این روش ها شامل موارد زیر خواهد بود:
- Just Works: سریع ترین اما کمتر ایمن ترین روش برای انتقال کلیدهای رمزگذاری برای هر دو دستگاه
- OOB (خارج از باند): از روش های دیگر احراز هویت (به جز بلوتوث) برای ارسال کلیدهای رمزگذاری استفاده می کند. یک مثال می تواند شامل اتصال از طریق NFC یا استفاده از دوربین دستگاه شما برای اسکن یک کد QR در صفحه نمایش دستگاه دیگر باشد.
- رمز عبور: کاربران با دادن کلید عبور صحیح در صورت درخواست، خود را احراز هویت می کنند
- مقایسه عددی: درست مانند Passkey عمل می کند، اما دستگاه ها به طور خودکار کلیدهای عبور را ارسال می کنند. کاربران فقط باید تأیید کنند که آیا هر دو دستگاه دارای کلیدهای عبور یکسان هستند یا خیر
الگوریتم های کلید رمزگذاری BLE
اکنون که دستگاه های شما هویت دستگاه متصل کننده را تأیید کرده اند. سپس آنها کلیدهای رمزگذاری را ارسال می کنند که دستگاه های شما از آنها برای رمزگذاری و رمزگشایی داده ها در طول جلسه استفاده می کنند.
مدیر امنیت بلوتوث مراحل مختلفی دارد که در آن از الگوریتمهای کلید رمزگذاری مختلف برای درست کار کردن استفاده میکند. متداول ترین الگوریتم های کلید رمزگذاری مورد استفاده در آخرین نسخه بلوتوث (4.0 و بالاتر) به شرح زیر است:
- رمزهای متقارن کلیدی: این نوع رمزگذاری از یک کلید برای رمزگشایی هش ها یا رمزها استفاده می کند.
- رمزهای کلید نامتقارن: این نوع رمزگذاری از چیزی که به عنوان کلید عمومی و کلید خصوصی شناخته می شود استفاده می کند. یک کلید عمومی برای رمزگذاری داده ها استفاده می شود، در حالی که یک کلید خصوصی داده های رمزگذاری شده را رمزگشایی می کند
- رمزنگاری منحنی بیضوی (ECC): از یک معادله منحنی بیضوی برای ایجاد کلیدهایی استفاده می کند که بسیار کوتاهتر از کلیدهای متقارن یا نامتقارن هستند اما به همان اندازه ایمن هستند.
- استاندارد رمزگذاری پیشرفته (AES): یک رمز بلوک متقارن است که اندازه آن 128 بیت است.
فرآیند جفت سازی و پیوند مدیر امنیت
لایه مدیریت امنیت برای کنترل همه چیزهای امنیتی در بلوتوث از طریق آنچه به عنوان فرآیندهای جفت و پیوند شناخته می شود، طراحی شده است. همیشه یک دستگاه اصلی و یک دستگاه برده در اتصال بلوتوث وجود خواهد داشت.
دستگاه اصلی دستگاهی است که برای پخش دستگاه های دارای بلوتوث اسکن می کند. در مقابل، برده دستگاهی است که مکان خود را برای جهانیان پخش می کند.
نمونه ای از رابطه ارباب و برده می تواند تلفن شما و یک هدفون بی سیم باشد. تلفن شما دستگاه اصلی است زیرا دستگاههای بلوتوث را اسکن میکند، در حالی که هدفون بیسیم شما به دلیل اینکه سیگنالهای خود را برای یافتن تلفن شما پخش میکند، دستگاه اصلی است.
فرآیند جفت سازی شامل دو مرحله اول از سه مرحله فازهای امنیتی مدیر امنیت است. فرآیند جفت سازی شامل اتصال اولیه دستگاه هایی است که سعی در اتصال دارند.
- برای جفتسازی اولیه، هر دو دستگاه اصلی و slave فهرستی از قابلیتهای ویژگیهای هر دستگاه و نسخه بلوتوثی که اجرا میکنند را به اشتراک میگذارند. این قابلیت ها شامل این است که آیا دستگاه دارای صفحه نمایش، صفحه کلید، دوربین و NFC است یا خیر.
- پس از اطلاع از قابلیتهای یکدیگر، دستگاههای برده و اصلی تصمیم میگیرند از کدام پروتکل امنیتی و الگوریتمهای رمزگذاری استفاده کنند.
- رمزگذاری مشترک برای جفت شدن اولیه هر دو دستگاه به عنوان STK (کلید کوتاه مدت) شناخته می شود. همانطور که از نام آن پیداست، STK کلید رمزگذاری است که هر دو دستگاه master و slave تا پایان جلسه از آن استفاده می کنند.
- هنگامی که هر دو دستگاه با موفقیت جفت شدند، از STK برای رمزگذاری هر بسته داده ای که به اشتراک می گذارند استفاده می کنند. و با داده های رمزگذاری شده، هر کسی که سعی می کند جلسه شما را نظارت کند، STK برای رمزگشایی داده ها نخواهد داشت.
- مشکل STK این است که فقط برای یک جلسه مناسب است. برای تولید STK جدید برای هر جلسه، هر دو دستگاه باید جفت شدن را ادامه دهند. به همین دلیل، یک مرحله اختیاری اضافی به نام پیوند ایجاد شده است.
- مرحله اتصال، مرحله سوم مدیریت امنیت بلوتوث است. این درخواست اختیاری است که روی دستگاه خود دریافت می کنید و از شما می پرسد که آیا به دستگاه جفت شده اعتماد دارید و می خواهید هر زمان که دستگاه پخش می شود به آن متصل شوید.
- از آنجایی که هر دو دستگاه قبلاً جفت شده اند (اتصال ایمن از طریق STK دارند)، فرآیند اتصال نیازی به بررسی های امنیتی بیشتری ندارد. کاری که این مرحله انجام می دهد، تولید یک LTK (کلید بلند مدت) و یک IRK (کلید حل هویت) است. سپس هر دو دستگاه از این کلیدها برای رمزگشایی داده ها استفاده می کنند و هر زمان که بلوتوث روشن است دستگاه شما را به طور خودکار شناسایی می کنند.
- LTK یک کلید رمزگذاری شبیه به STK است که دستگاه ها از آن برای رمزگذاری و رمزگشایی داده ها استفاده می کنند. تفاوت این است که یک LTK به جای AES-120 از طریق ECC تولید می شود و برای طولانی مدت استفاده می شود.
برای درک یک IRK، اجازه دهید به طور خلاصه در مورد آدرس مک بلوتوث صحبت کنیم. همه دستگاه های دارای بلوتوث مجهز به NIC (کنترل کننده رابط شبکه) هستند. هر NIC دارای یک آدرس MAC (کنترل دسترسی رسانه) منحصر به فرد است. شما نمی توانید این آدرس های MAC را تغییر دهید زیرا آدرس های داده شده در سخت افزار فیزیکی NIC کدگذاری شده اند.
اگرچه میتوانید یک آدرس MAC را از طریق نرمافزار جعل کنید، اما وقتی میخواهید دستگاه شما توسط دستگاههای متصل شناسایی شود، این گزینه مناسبی نیست. با در نظر گرفتن این موضوع، بلوتوث SIG یک سیستم IRK اضافه کرد که به دستگاه شما اجازه میدهد توسط دستگاههای متصل شناسایی شود و برای دستگاههای بلوتوث ناشناخته غیرقابل شناسایی باشد.
حفاری عمیق
بلوتوث ترکیب پیچیده ای از فناوری ها است که طیف وسیعی از سازگاری، راحتی و قابلیت اطمینان دستگاه را فراهم می کند. ماهیت بلوتوث امنیت بلوتوث را به موضوعی پیچیده تبدیل می کند.
نکات ذکر شده در بالا ساده شده اند و به منظور ارائه یک ایده کلی از نحوه عملکرد رمزگذاری و امنیت بلوتوث هستند. امیدواریم این به عنوان دروازه ای برای افرادی باشد که به امنیت علاقه مند هستند تا عمیق تر به موضوع نگاه کنند و در مورد عملکرد داخلی بلوتوث اطلاعات بیشتری کسب کنند. برای علاقه مندان، به سوراخ خرگوش خوش آمدید!