Bonding: یہ کیا ہے، BLE پیئرنگ کا عمل اور حفاظت

مصنف: IT Sectr اشاعت: 2026-07-16 مطالعے کا وقت: 10 منٹ

Bonding (پیئرنگ) Bluetooth Low Energy میں دو آلات کے درمیان کرپٹوگرافک کنجیوں کو غیر متغیر میموری میں محفوظ کرکے دو آلات کے درمیان ایک مستقل محفوظ کنیکشن بنانے کا عمل ہے۔ بونڈنگ کے بعد، آلات PIN دوبارہ درج کرنے یا صارف کی تصدیق کے بغیر دوبارہ منصل ہونے پر خودکار طور پر خفیہ کردہ کنیکشن بحال کر سکتے ہیں۔ Bluetooth SIG Core Specification v5.4 (2025) کے مطابق، بونڈنگ میکانزم آن آلات کے لیے لازمی ہے جنہں خودکار دوبارہ منصل ہونے کی ضرورت ہو — هیڈفون، فیٹنس ٹریکر، طبی سینسر اور IoT آکسیسریز۔

اہم نکات

  • Bonding سیشن ختم ہونے کے بعد BLE آلات کے درمیان خفیہ کردہ کنجیوں کا طویل مدت کا ذخیرہ ہے۔
  • Pairing کے برعکس، بونڈنگ بار بار تصدیق کے بغیر خفیہ کردہ کنیکشنز کو خودکار طور پر بحال کرنے کی اجازت دیتی ہے۔
  • بونڈنگ کے عمل میں LTK، IRK، CSRK کا کنجی کا تبادلہ اور دونوں آلات کی میموری میں انہاں محفوظ کرنا شامل ہے۔
  • iOS محفوظ کنجیوں کو حذف کرنے کی صلاحیت کے ساتھ Settings > Bluetooth کے ذریعے بونڈیڈ آلات کا انتظام کرتا ہے۔
  • Android پر، بونڈنگ کا انتظام BluetoothAdapter اور getBondedDevices() API کے ذریعے کیا جاتا ہے۔

BLE میں Bonding کیا ہے؟

Bonding Bluetooth Low Energy میں pairing کے عمل کی ایک توسیع ہے، جہاں آلات بعد کے کنیکشنز کے لیے خفیہ کردہ کنجیاں محفوظ کرتے ہیں۔ BLE معیار تین حفاظتی موڈ کی وضاحت کرتا ہے: Security Mode 1 (مصادقہ کے بغیر خفیہ کردنی، Security Mode 2 (خفیہ کردنے کے بغیر ڈیٹا دستخط) اور Security Mode 3 (مصادقہ کے ساتھ خفیہ کردنی، Bonding ان موڈز کے لیے موزوں ہے جن میں کنجی تشکیل نویں کیے بغیر بار بار کنیکشن کی ضرورت ہوتی ہے۔

Bonding کی ضرورت کیوں ہے

بونڈنگ کا بنیادی مقصد آلات کے دوبارہ منصل ہونے پر خفیہ کردہ کنیکشنز کا خودکار بحال ہے۔ جب کوئی صارف اپنے کیس سے ایاربڈز نیکالتا ہے اور پہنتا ہے، بونڈنگ Bluetooth مینیو سے آلہ کو دوبارہ منتخب کیے بغیر اسمارٹ پھون سے فوری کنیکشن کی ضمانت دیتی ہے۔ Apple Bluetooth Design Guidelines (2025) کے مطابق، بونڈیڈ آلات کو دریافت کے 2 سیکنڈ کے اندر کنیکٹ ہونا چاہئے۔

Bonding کے دوران کون سا ڈیٹا محفوظ ہوتا ہے

بونڈنگ کے دوران، ہر آلہ کرپٹوگرافک مواد کا ایک سیٹ محفوظ کرتا ہے: کنیکشن خفیہ کردنے کے لیے Long Term Key (LTK)، بہترنی مخاطبات کو حل کرنے کے لیے Identity Resolving Key (IRK) اور ڈیٹا دستخط کی تصدیق کے لیے Connection Signature Resolving Key (CSRK)۔ LTK 128 بٹ کی بنیادی کنجی ہے جو pairing کے دوران تیار ہوتی ہے اور بعد کے تمام خفیہ کردہ سیشنز کے لیے استعمال ہوتی ہے۔

کنجیلمبائیمقصد
LTK128 بٹدوبارہ منصل ہونے کے بعد ڈیٹا خفیہ کردنی،
IRK128 بٹبہترنے پرائی وٹ پتے (RPA) کا حل
CSRK128 بٹڈیٹا دستخط اور تصدیق

Bonding بنام Pairing: فرق کیا ہے

Pairing موجودہ مواصلاتی سیشن کو خفیہ کرنے کے لیے کنجیوں کی عارضی مذاکرات ہے۔ جب کنیکشن ختم ہوتا ہے، خفیہ کردہ کنجیاں حذف ہو جاتی ہیں اور اگلے کنیکشن کے لیے پھر سے مکمل pairing کا عمل درکار ہوتا ہے۔ Bonding میں تمام pairing کے مراحل شامل ہیں لیکن مستقبل کے سیشنز کے لیے مزید کنجیاں محفوظ کرتا ہے۔ تقریبناتمام صارف Bluetooth آلات (هیڈفون، سپیکر، گھڑیاں) bonding استعمال کرتے ہیں کیونکہ اس کے بغیر، ہر کنیکشن کے لیے PIN دوبارہ درج کرنے کی ضرورت ہوگی۔

Pairing اور Bonding کے تین مراحل

BLE میار کے مطابق pairing کا عمل تین مراحل پر مشتمل ہے۔ مرحلہ 1 — آلہ کی صلاحیتوں کا تبادلہ (IO صلاحیتیں، مصادقہ کی حمایت)۔ مرحلہ 2 — pairing کے طریقے کے مطابق Short Term Key (STK) یا LTK کی تیاری اور تبادلہ۔ مرحلہ 3 — کنجی کا ترانسپورٹ: آلات کے درمیان LTK، IRK، CSRK کا تبادلہ۔ اگر آلات نے مرحلہ 3 کے بعد کنجیاں محفوظ کیں — یہ bonding ہے۔ اگر نہیں — یہ صرف pairing ہے۔

پیرامیٹرPairingBonding
کنجی کا ذخیرہمحفوظ نہیںNVRAM میں محفوظ
خودکار دوبارہ منصل ہونانہیںہاں
PIN دوبارہ درج کرناضروریضروری نہیں
استعمالکبھی کبار کے کنیکشنزمستقل آلات

Bonding کا عمل کیسے کام کرتا ہے

بونڈنگ کا عمل pairing کے کامیاب اطمینان کے بعد شروع ہوتا ہے، جب ایک آلہ کنجیاں محفوظ کرنے کی درخواست بھیجتا ہے۔ BLE میں، Central (عموماً ایک اسمارٹ پھون) اور Peripheral (پہنے جانے والا آلہ) مرحلہ 2 میں قائم کردہ محفوظ چینل کے ذریعے کنجیاں کا تبادلہ کرتے ہیں۔ کامیاب کنجی تبادلے کے بعد، ہر آلہ انہیں شریک کے MAC پتے یا Identity Address کے ساتھ غیر متغیر میموری میں محفوظ کرتا ہے۔

Central کی جانب کنجی کا ذخیرہ

Central کی جانب (iOS/Android)، کنجیاں سسٹم Bluetooth ذخیرہ میں محفوظ ہوتی ہیں۔ iOS خودکار بونڈنگ انتظام کے ساتھ Core Bluetooth سسٹم اسٹاک استعمال کرتا ہے: پہلی pairing پر، کنجیاں آلے کی NVRAM میں محفوظ ہو جاتی ہیں اور اسی Peripheral سے بعد کے کنیکشن خودکار طور پر ہوتے ہیں۔ ڈیویلپر براہ راست کنجیوں کا انتظام نہیں کرتا — Core Bluetooth سسٹم اسٹاک کنجی ذخیرے کی حمایت کرنے والے آلے سے کنیکٹ ہوتے ہی خودکار طور پر bonding کا انتظام کرتا ہے۔

Bonding کے ذریعے کنیکشن کی بحالی

دوبارہ منصل ہونے پر، Peripheral اپنے عام پتے یا Resolvable Private Address (RPA) پر مشتمل اشتہاری پکیج بھیجتا ہے۔ Central پکیج وصول کرتا ہے، پتے کا موجودہ بونڈیڈ آلات سے ملان کرتا ہے، اور اگر ملان مل جائے تو محفوظ LTK کا استعمال کرکے سیشن کی بحالی شروع کرتا ہے۔ اگر LTK مل جائے تو خفیہ کردہ کنیکشن دوبارہ pairing کیے بغیر قائم ہو جاتا ہے۔

Bonding میں مصادقہ کے طریقے

BLE میار کئی مصادقہ کے طریقے تہریر کرتا ہے جو bonding کی حفاظتی سطح کو متاثر کرتے ہیں۔ طریقے کا انتخاب آلات کی IO صلاحیتوں پر منحصر ہے — چاہے ان کے پاس ڈسپلے، کیبورڈ یا عددی موازنت کی تصدیق کی صلاحیت ہے۔ محفوظ bonding کے لیے غیر تنقیدی ایپلیکیشنز کے لیے کم از کم Just Works اور Man-in-the-Middle حملوں سے تحفظ کی ضرورت والے کاموں کے لیے Numeric Comparison یا Passkey Entry استعمال کرنے کی ضرورت ہے۔

Just Works

Just Works ایک مصادقہ سے پاک طریقہ ہے جو اس صورت میں استعمال ہوتا ہے جب آلوں میں سے ایک کے پاس ڈسپلے یا کیبورڈ نہ ہو۔ خفیہ کردہ کنجیاں دوسرے آلے کی شناخت کی تصدیق کیے بغیر منتقل کی جاتی ہیں — درجہ حرارت کے سینسر، دل کی دھڑکن کے مانیٹر۔ Just Works MITM حملوں کا شکار ہے، لہذا صرف ان آلات کے لیے استعمال ہوتا ہے جہاں ڈیٹا کا سمجھوتا کوئی خطرہ پیش نہیں کرتا۔

Numeric Comparison

Numeric Comparison ایک مصادقہ کا طریقہ ہے جس میں دونوں آلے چہ ہندسی کا عدد ڈسپلے کرتے ہیں اور صارف کو ملان کی تصدیق کرنی ہوتی ہے۔ یہ طریقہ MITM حملوں سے تحفظ فراہم کرتا ہے اور ڈسپلے والے آلات کے لیے تجویز کیا جاتا ہے — سمارٹ واچز، فیٹنس ٹریکر، ریموٹ کنٹرولز۔ تصدیق کے بعد، bonding انتہائی اعتماد کی سطح کے ساتھ محفوظ کی جاتی ہے۔

Passkey Entry

Passkey Entry کے لیے آلوں میں سے ایک پر چہ ہندسی PIN درج کرنا ضروری ہے۔ عموماً، کوڈ ایک آلے سے تیار کیا جاتا ہے اور اس پر ڈسپلے کیا جاتا ہے، جبکہ صارف اسے دوسرے آلے پر درج کرتا ہے۔ یہ طریقہ طبی آلات اور IoT تالوں کے لیے استعمال ہوتا ہے جہاں اعلی حفاظتی سطح کی ضرورت ہوتی ہے لیکن آلوں میں سے ایک کے پاس Numeric Comparison کے لیے ڈسپلے نہیں ہوتا۔

iOS اور Android میں بونڈیڈ آلات کا انتظام

Bonding کا انتظام پیئر کردہ آلات کی محفوظ کنجیوں کو دیکھنے، حذف کرنے اور برقرار رکھنے کا عمل ہے۔ موبائل ڈیویلپمنٹ میں، بونڈیڈ آلات کی ایڡویا کو صحیح طریقے سے ہینڈل کرنا اہم ہے، خاص کر کے جب کوئی پیریفیرل آلہ ریسیٹ کیا جاتا ہے یا اس کا فرم ویئر بدلا جاتا ہے۔ جب Peripheral پر bonding کی کنجیاں بدلتی ہیں، Central پر پرانی کنجیاں ہٹانا لازمی ہے اور نئی pairing کرنے کی ضرورت ہے۔

iOS میں انتظام

iOS سسٹم Core Bluetooth اسٹاک کے ذریعے خودکار طور پر بونڈیڈ آلات کا انتظام کرتا ہے۔ ڈیویلپر کے پاس انفرادی بونڈیڈ آلوں کو دیکھنے یا حذف کرنے کا براہ راست API نہیں ہے — انتظام سسٹم ترتیبات (Settings > Bluetooth > آلہ > Forget) کے ذریعے کیا جاتا ہے۔ اگر پروگرامی طور پر bonding صاف کرنے کی ضرورت ہو، ایپ UIApplication.openSettingsURLString کا استعمال کرکے صارف کو سسٹم Bluetooth ترتیبات پر لے جا سکتا ہے۔

Android میں انتظام

Android BluetoothAdapter کلاس کے ذریعے بونڈیڈ آلات کے ساتھ کام کرنے کا براہ راست API فراہم کرتا ہے۔ getBondedDevices() کا طریقہ تمام پیئر کردہ آلات کا Set<BluetoothDevice> واپس کرتا ہے۔ Bonding ہٹانے کے لیے، removeBond() کا طریقہ ریفلکشن کے ذریعے یا Android 12+ پر سرکاری API BluetoothDevice.removeBond() کے ذریعے استعمال کیا جاتا ہے۔

kotlin
val adapter = BluetoothAdapter.getDefaultAdapter()
val bondedDevices: Set<BluetoothDevice> = adapter.getBondedDevices()
bondedDevices.forEach { device ->
    Log.d("Bonding", "Bonded device: ${device.name}, ${device.address}")
}

Bonding نفاذ کی عملی مثال

Android پر bonding کا نفاذ BluetoothDevice.ACTION_BOND_STATE_CHANGED واقعات کے لیے BroadcastReceiver کی صحیح ہینڈلنگ کا مطالبہ کرتا ہے۔ آلے سے پہلے کنیکشن پر، Android سسٹم خودکار طور پر bonding شروع کرتا ہے اگر آلہ اس صلاحیت کی حمایت کرتا ہے۔ ڈیویلپر کو تین حالات کو ہینڈل کرنا چاہئے: BOND_NONE (پیئر نهیں کیا گیا)، BOND_BONDING (پیئرنگ جاری ہے)، BOND_BONDED (پیئر کیا گیا)۔

kotlin
val bondReceiver = object : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)
        val bondState = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, -1)
        when (bondState) {
            BluetoothDevice.BOND_BONDED -> Log.d("Bonding", "Bonded: ${device.name}")
            BluetoothDevice.BOND_NONE -> Log.d("Bonding", "بونڈ ہٹا دیا گیا")
        }
    }
}

Android پر Bonding شروع کرنا

Android پر bonding شروع کرنے کے لیے، BluetoothDevice آبجیکٹ پر createBond() کا طریقہ کال کیا جانا چاہئے۔ یہ طریقہ ایک بولین واپس کرتا ہے — true اگر پیئرنگ کا عمل کامیابی سے شروع ہوا۔ Android 12 سے، createBond() کو BLUETOOTH_CONNECT اجازت کی ضرورت ہے اور اگر ایپ کی پس منظر Bluetooth رسائی نہیں ہے تو سسٹم اسے مسترد کر سکتا ہے۔

kotlin
fun initiateBonding(device: BluetoothDevice) {
    if (device.bondState == BluetoothDevice.BOND_NONE) {
        val success = device.createBond()
        if (success) {
            Toast.makeText(context, "Bonding شروع کیا گیا", Toast.LENGTH_SHORT)
        }
    }
}

Bonding کے ساتھ کام کرتے وقت عام غلطیاں

موبائل ایپ ڈیویلپر اکسر BLE آلے کے bonding کے ساتھ کام کرتے وقت عام غلطیوں کا سامنا کرتے ہیں۔ Bonding کی ایڈویا کی غلط ہینڈلنگ کنیکشن ناکامیابیوں، دوبارہ پیئر کرنے میں ناکامی یا ڈیٹا کے نقصان کا سبب بن سکتی ہے۔ آئیں سب سے مورد مسائل اور ان کے حل کا جائزہ لیتے ہیں۔

Peripheral کا فرم ویئر ریسیٹ اور stale bonding

BLE آلے کے فرم ویئر اپڈیٹ کے بعد، اس کی bonding کنجیاں ریسیٹ ہو سکتی ہیں، لیکن اسمارٹ پھون پرانی کنجیوں (stale bonding) کو محفوظ رکھتا ہے۔ کنیکٹ کرنے کی کوشش کرتے وقت، Central پرانے LTK کے ساتھ سیشن کو بحال کرنے کی کوشش کرتا ہے، Peripheral کنجی کو مسترد کرتا ہے اور کنیکشن ناکام ہوجاتا ہے۔ حل Settings > Bluetooth > Forget Device کے ذریعے اسمارٹ پھون پر bonding ہٹانا اور نئی pairing کرنا ہے۔

بونڈیڈ آلات کی تعداد کی حد

BLE چيپس میں محفوظ bonding ریکارڈز کی تعداد کی ایک حد ہوتی ہے۔ مقبول Nordic nRF5x چيپس کے لیے، ترتیب کے مطابق حد 8-20 ریکارڈز ہے۔ حد سے تجاوز پر، آلہ نئی pairings کو قبول کرنا بند کر دیتا ہے۔ حل غیر مستعمل bonding ریکارڈز کو ہٹانا یا صفائی کے ساتھ ترجیح پر مبنی کنجی رنگ کا استعمال کرنا ہے۔

Privacy Feature کے مسائل

Privacy Feature (بہترنے MAC پتے) کا استعمال کرتے وقت، آلہ وقتا بہتور اپنا پتہ بدلتا ہے۔ اگر Central نے IRK محفوظ نہیں کیا، تو وہ نئے بہترنے پتے کو معروف آلے سے ملا نہیں سکتا۔ حل IRK ذخیرہ کو صحیح طریقے سے نفاذ کرنا اور ہر آلے کی دریافت پر RPA کو حل کرنے کے لیے استعمال کرنا ہے۔

اکثر پوچے جانے والے سوالات

BLE میں Bonding کیا ہے؟

Bluetooth Low Energy میں Bonding پیئرنگ سیشن ختم ہونے کے بعد خفیہ کردہ کنجیوں (LTK، IRK، CSRK) کو محفوظ کرنے کا عمل ہے، تاکہ PIN دوبارہ درج کرنے یا تصدیق کے بغیر بعد کے دوبارہ منصل ہونے پر خودکار طور پر ایک محفوظ کنیکشن بحال ہو سکے۔

Bonding Pairing سے کیسے مختلف ہے؟

Pairing موجودہ سیشن کے لیے کنجیوں کی عارضی مذاکرات ہے، جو کنیکشن ٹوٹنے پر حذف ہو جاتی ہیں۔ Bonding میں مکمل pairing کا عمل اور مستقبل کے کنیکشنز کے لیے کنجی کا ذخیرہ شامل ہے۔ Bonding ان آلات کے لیے ضروری ہے جو خودکار طور پر دوبارہ منصل ہوتے ہیں — هیڈفون، گھڑیاں، فیٹنس ٹریکر۔

iPhone پر Bonding کیسے ہٹائیں؟

iPhone پر، bonding کو ہٹانا سسٹم ترتیبات کے ذریعے کیا جاتا ہے: Settings > Bluetooth > آلے کے آگے معلوماتی آئیکن (i) پر ٹاپ کریں > Forget This Device کو منتخب کریں۔ اس کے بعد، خفیہ کردہ کنجیاں حذف ہو جاتی ہیں اور اگلا کنیکشن نئی pairing کا مطالبہ کرے گا۔

کتنے آلات Bonding میں ہو سکتے ہیں؟

بونڈیڈ آلات کی تعداد BLE چيپ کی غیر متغیر میموری کی گنائی پر منحصر ہے۔ اسمارٹ پھون سیکڒوں ریکارڈز محفوظ کر سکتے ہیں، جبکہ سستے BLE پیریفیرلز 8-20 ریکارڈز تک محدود ہیں۔ حد سے تجاوز پر، پرانے ریکارڈز پر لکھ دیے جاتے ہیں یا آلہ نئی pairing قبول کرنا بند کر دیتا ہے۔

Stale bonding کیا ہے؟

Stale bonding ایک ایسی صورت ہے جہاں ایک آلے (عموماً Peripheral) پر خفیہ کردہ کنجیاں ریسیٹ کر دی گئی ہیں (مثالاً، فرم ویئر اپڈیٹ کے بعد)، جبکہ Central کے پاس اب بھی پرانی کنجیاں موجود ہیں۔ نتیجہ میں، جب تک صارف Bluetooth ترتیبات سے stale bonding کو ہٹا کر نئی pairing نہیں کرتا، کنیکشن قائم نہیں ہو سکتا۔

خلاصہ

  • Bonding PIN دوبارہ درج کیے بغیر خفیہ کردہ کنیکشنز کو خودکار طور پر بحال کرنے کا ایک اہم BLE میکانزم ہے۔
  • Pairing اور bonding کنجی کے ذخیرے میں مختلف ہیں: pairing میں کنجیاں ایک سیشن چلتی ہیں، bonding میں وہ مستقل طور پر محفوظ رہتی ہیں۔
  • Bonding کے عمل میں تین قسم کی کنجیوں کا تبادلہ اور ذخیرہ شامل ہے: LTK (خفیہ کردنی، IRK (شناخت)، CSRK (دستخط)۔
  • Numeric Comparison مصادقہ کا طریقہ MITM حملوں سے تحفظ فراہم کرتا ہے اور ڈسپلے والے آلات کے لیے تجویز کیا جاتا ہے۔
  • iOS Core Bluetooth کے ذریعے خودکار طور پر bonding کا انتظام کرتا ہے، جبکہ Android API createBond() اور removeBond() فراہم کرتا ہے۔
  • Peripheral کے فرم ویئر اپڈیٹ کے بعد Stale bonding ایک عام مسئلہ ہے جو Bluetooth فہرست سے آلے کو ہٹانے سے حل ہوتا ہے۔
  • پیریفیرل BLE چيپ پر بونڈیڈ آلات کی تعداد ماڈل کے مطابق 8-20 ریکارڈز تک محدود ہے۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں