محفوظ پش اطلاعن: نظريي کان مشق تائين

اي حبر!

اڄ آئون ان بابت ڳالهائيندس جيڪي منهنجا ساٿي ۽ مان ڪيترن ئي مهينن کان ڪري رهيا آهيون: موبائل انسٽنٽ ميسينجرز لاءِ پش نوٽيفڪيشن. جيئن مون اڳ ۾ ئي چيو آهي، اسان جي ايپليڪيشن ۾ بنيادي زور سيڪيورٽي تي آهي. تنهن ڪري، اسان اهو معلوم ڪيو ته ڇا پش نوٽيفڪيشن ۾ ”ڪمزور نقطا“ آهن ۽، جيڪڏهن ائين آهي، ته اسان انهن کي ڪيئن سطح تي آڻي سگهون ٿا ته جيئن هن مفيد آپشن کي اسان جي خدمت ۾ شامل ڪيو وڃي.

مان اسان جو ترجمو شايع ڪري رهيو آهيان ميڊيم کان آرٽيڪل پنهنجي طرفان ڪجهه ننڍڙن اضافن سان. اهو "تحقيق" جا نتيجا ۽ هڪ ڪهاڻي تي مشتمل آهي ته ڪيئن مسئلو حل ڪيو ويو.

اسان مواد کي جانچيو

کلاسک ماڊل ۾، پش نوٽيفڪيشنز ميسينجرز کي MITM (Man-in-the-Middle) حملن لاءِ خطرناڪ بڻائين ٿا. مثال طور، گوگل، مائڪروسافٽ، ۽ iMessage جي پراڻي ورزن سان، ايپليڪيشن ايپل سرورز ڏانهن انڪرپشن ڪيز موڪلي ٿي - سرور تي، صارفين جي تصديق ڪئي وئي آهي ۽ پيغام جي هيڊر (يا ان جو مواد) ڊڪرپٽ ٿيل آهي.

محفوظ پش اطلاعن: نظريي کان مشق تائين

نتيجي طور، پش نوٽيفڪيشن سرور تائين رسائي حاصل ڪندي خطوط پڙهڻ جو موقعو آهي. هن جو مطلب آهي ته خط و ڪتابت جي ڪنهن به انڪرپشن بيڪار آهي: پش نوٽيفڪيشن اڃا به ٽئين پارٽين طرفان پڙهڻ جو امڪان ڇڏي ويندا. مضمون جي مصنفن هن امڪان تي وڌيڪ تفصيل سان بحث ڪيو. "صحيح طور تي انڪرپٽ ڪريو" Xaker.ru تي، پيغامن کي انڪرپٽ ڪرڻ جي طريقن لاءِ وقف آهي.

جيڪڏهن توهان سوچيو ته ايپل ۽ گوگل سرورز 100٪ محفوظ آهن صارف جي انڪرپشن ڪيز کي لڪڻ جي خلاف، حقيقت تي غور ڪريو ته انهن جي ملازمن کي انهن تائين رسائي آهي. ۽ ملازم ماڻهو آهن.
پش اطلاعن جي سڀني ڪمزورين جي باوجود، ڪيترائي ”محفوظ“ انسٽنٽ ميسينجر، بشمول سگنل ۽ ٽيليگرام، انهن کي استعمال ڪن ٿا. ٻي صورت ۾، صارفين کي مسلسل ايپليڪيشن ۾ لاگ ان ڪندي نئين پيغامن کي "دستي طور" مانيٽر ڪرڻو پوندو. جيڪا ڏاڍي تڪليف ڏيندڙ آهي، ۽ مقابلو ڪندڙ قاصد فائدو حاصل ڪندا.

پروانيا ۽ عام احساس


اسان جي پروجيڪٽ ۾، اسان ڪيترن ئي مهينا اڳ هن مسئلي کي ويجهي ورتو. اسان کي شامل ڪرڻ جي ضرورت پوندي نوٽيفڪيشن آپشن کي مقابلي لاءِ. پر ساڳئي وقت، حفاظتي سوراخ نه کوليو، ڇو ته ڪنهن به ڊيٽا ليڪ منصوبي ۾ اعتماد کي نقصان پهچائيندو.

تنهن هوندي، اسان وٽ اڳ ۾ ئي هڪ اهم فائدو آهي: اسان جو ميسينجر غير مرڪزي آهي (ڊيٽا بلاڪچين تي ذخيرو ٿيل آهي)، ۽ ملازمن کي اڪائونٽن تائين رسائي نه آهي. صرف استعمال ڪندڙن وٽ انڪرپشن ڪنجيون آھن، ۽ MITM حملن کان بچائڻ لاءِ بلاڪچين تي ڳالھائيندڙن جون عوامي چابيون موجود آھن.

پش نوٽيفڪيشن جي پهرين ورزن ۾، اسان فيصلو ڪيو ته ان کي کيڏيو جيترو ٿي سگهي محفوظ ڪيو وڃي ۽ پيغام جي متن کي هرگز منتقل نه ڪيو وڃي. پش سروس نوڊ مان پيغام جو متن وصول نه ڪيو، پر صرف ان جي وصولي جي حقيقت بابت هڪ سگنل. تنهن ڪري، صارف ڏٺو ته "نئون پيغام اچي چڪو آهي" نوٽيفڪيشن. اهو صرف رسول ۾ پڙهڻ ممڪن هو.

محفوظ پش اطلاعن: نظريي کان مشق تائين
اهو ڪيئن ڪم ڪيو: وڊيو.

ان کان پوء، اسان سکيو ته ايپل جي نوٽيفڪيشن جي تازي ورزن ۾ نئين حفاظتي خاصيتون آهن. اهي آزاد ڪيو ويو UNNotificationServiceExtension، جيڪا ڊولپرز کي APNS تي مڪمل طور تي انڪرپٽ ٿيل نوٽيفڪيشن ڊيٽا موڪلڻ جي اجازت ڏئي ٿي. آخر صارف جي ڊوائيس تي ايپ پوءِ ڊيڪرپشن انجام ڏئي ٿي (يا اضافي ڊيٽا ڊائون لوڊ ڪري ٿو) ۽ هڪ نوٽيفڪيشن ڏيکاري ٿو. اسان ان کي پش نوٽيفڪيشن جي ٻئي ورزن جي بنياد طور ورتو.

اسان هاڻي iOS لاءِ پش نوٽيفڪيشن جو ٻيو ورزن تيار ڪيو آهي، جيڪو توهان کي اجازت ڏئي ٿو پيغام جو متن بغير ڪنهن سيڪيورٽي خطري جي. نئين تصور ۾، منطق هن طرح نظر اچي ٿو:

  • پش سروس ٽرانزيڪشن نمبر سان گڏ پش نوٽيفڪيشن موڪلي ٿي (انڪريٽ ٿيل پيغام تمام وڏو ٿي سگهي ٿو، ۽ اطلاعن جي سائيز تمام محدود آهي)
  • جڏهن ڊوائيس هڪ نوٽيفڪيشن وصول ڪري ٿي، اهو اسان جي NotificationServiceExtension کي لانچ ڪري ٿو - هڪ مائڪرو ايپليڪيشن جيڪا نوڊ کان id ذريعي ٽرانزيڪشن جي درخواست ڪري ٿي، ان کي محفوظ ٿيل پاسفريس استعمال ڪندي ڊيڪرپٽ ڪري ٿي، ۽ سسٽم ڏانهن نئين نوٽيفڪيشن موڪلي ٿي. پاسورڊ محفوظ اسٽوريج ۾ محفوظ ٿيل آهي.
  • سسٽم هڪ نوٽيفڪيشن ڏيکاري ٿو هڪ ڊسڪ ٿيل پيغام يا ترجمي سان.
  • ڪنجيون ڪٿي به نه ٿيون وڃن، بس سادو ٽيڪسٽ پيغام وانگر. پش سروس پيغام کي ڊڪرائڻ جو ڪو طريقو ناهي.

محفوظ پش اطلاعن: نظريي کان مشق تائين

اسان هن نسخي کي ڪم ڪرڻ جي طور تي قبول ڪيو ۽ ان کي iOS ايپليڪيشن جي تازي تازه ڪاري ۾ لاڳو ڪيو.
جيڪي ٽيڪنيڪل پاسي ۾ دلچسپي رکن ٿا اهي سورس ڪوڊ ڏسي سگهن ٿا: github.com/Adamant-im/adamant-notificationService.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو