محفوظ پش اطلاعات: تھیوری سے پریکٹس تک

ارے حبر!

آج میں اس کے بارے میں بات کروں گا جو میرے ساتھی اور میں کئی مہینوں سے کر رہے ہیں: موبائل انسٹنٹ میسنجر کے لیے پش نوٹیفیکیشن۔ جیسا کہ میں نے پہلے ہی کہا ہے، ہماری درخواست میں بنیادی زور سیکورٹی پر ہے۔ لہذا، ہمیں پتہ چلا کہ کیا پش نوٹیفیکیشن میں "کمزور پوائنٹس" ہیں اور، اگر ایسا ہے تو، ہم اس مفید آپشن کو اپنی سروس میں شامل کرنے کے لیے ان کو کیسے برابر کر سکتے ہیں۔

میں ہمارا ترجمہ شائع کر رہا ہوں۔ میڈیم سے مضامین اپنی طرف سے کچھ چھوٹے اضافے کے ساتھ۔ اس میں "تحقیقات" کے نتائج اور اس مسئلے کو حل کرنے کے بارے میں ایک کہانی شامل ہے۔

ہم مواد کی جانچ کرتے ہیں۔

کلاسک ماڈل میں، پش نوٹیفیکیشنز میسنجر کو MITM (مین-ان-دی-مڈل) حملوں کا شکار بناتی ہیں۔ مثال کے طور پر، گوگل، مائیکروسافٹ، اور iMessage کے پرانے ورژن کے ساتھ، ایپلی کیشن ایپل سرورز کو انکرپشن کیز بھیجتی ہے - سرور پر، صارفین کی تصدیق کی جاتی ہے اور میسج ہیڈر (یا اس کا مواد) ڈکرپٹ ہوجاتا ہے۔

محفوظ پش اطلاعات: تھیوری سے پریکٹس تک

نتیجے کے طور پر، پش نوٹیفکیشن سرور تک رسائی حاصل کرکے خط و کتابت کو پڑھنے کا موقع ملتا ہے۔ اس کا مطلب یہ ہے کہ خط و کتابت کی کوئی بھی خفیہ کاری بیکار ہے: پش نوٹیفیکیشنز تیسرے فریق کے ذریعہ پڑھے جانے کا امکان چھوڑ دیں گے۔ مضمون کے مصنفین نے اس امکان پر مزید تفصیل سے تبادلہ خیال کیا۔ "صحیح طریقے سے خفیہ کریں" Xaker.ru پر، پیغامات کو خفیہ کرنے کے طریقوں کے لیے وقف ہے۔

اگر آپ کو لگتا ہے کہ ایپل اور گوگل کے سرورز صارف کی خفیہ کاری کیز کو لیک ہونے سے 100% محفوظ ہیں، تو اس حقیقت پر غور کریں کہ ان کے ملازمین کو ان تک رسائی حاصل ہے۔ اور ملازمین لوگ ہیں۔
پش اطلاعات کی تمام کمزوریوں کے باوجود، بہت سے "محفوظ" انسٹنٹ میسنجر، بشمول سگنل اور ٹیلی گرام، انہیں استعمال کرتے ہیں۔ بصورت دیگر، صارفین کو ایپلی کیشن میں مسلسل لاگ ان کر کے نئے پیغامات کو "دستی طور پر" مانیٹر کرنا پڑے گا۔ جو بہت تکلیف دہ ہے، اور مقابلہ کرنے والے میسنجر کو فائدہ ملے گا۔

پاگل پن اور عقل


اپنے پروجیکٹ میں، ہم نے کئی مہینے پہلے اس مسئلے کو قریب سے اٹھایا۔ ہمیں مسابقتی ہونے کے لیے پش نوٹیفکیشن آپشن شامل کرنے کی ضرورت تھی۔ لیکن ایک ہی وقت میں، حفاظتی سوراخ نہ کھولیں، کیونکہ کوئی بھی ڈیٹا لیک ہونے سے پروجیکٹ پر اعتماد مجروح ہوگا۔

تاہم، ہمارے پاس پہلے سے ہی ایک اہم فائدہ ہے: ہمارا میسنجر وکندریقرت ہے (ڈیٹا بلاک چین پر محفوظ ہے)، اور ملازمین کو اکاؤنٹس تک رسائی نہیں ہے۔ صرف صارفین کے پاس خفیہ کاری کی چابیاں ہیں، اور MITM حملوں سے بچانے کے لیے بلاکچین پر انٹرلوکیٹرز کی عوامی چابیاں دستیاب ہیں۔

پش اطلاعات کے پہلے ورژن میں، ہم نے فیصلہ کیا کہ اسے زیادہ سے زیادہ محفوظ طریقے سے چلائیں اور پیغام کے متن کو بالکل بھی منتقل نہ کریں۔ پش سروس کو نوڈ سے پیغام کا متن موصول نہیں ہوا، لیکن اس کی وصولی کی حقیقت کے بارے میں صرف ایک سگنل۔ لہذا، صارف نے "نیا پیغام آگیا ہے" کی اطلاع دیکھی۔ اسے صرف میسنجر میں پڑھنا ممکن تھا۔

محفوظ پش اطلاعات: تھیوری سے پریکٹس تک
یہ کیسے کام کرتا ہے: ویڈیو.

اس کے بعد، ہمیں معلوم ہوا کہ ایپل کے نوٹیفیکیشن کے تازہ ترین ورژن میں نئی ​​حفاظتی خصوصیات ہیں۔ وہ جاری کیا UNNotificationServiceExtension، جو ڈویلپرز کو APNS پر مکمل طور پر انکرپٹڈ نوٹیفکیشن ڈیٹا بھیجنے کی اجازت دیتا ہے۔ آخر صارف کے آلے پر موجود ایپ پھر ڈکرپشن (یا اضافی ڈیٹا ڈاؤن لوڈ) کرتی ہے اور ایک اطلاع دکھاتی ہے۔ ہم نے اسے پش اطلاعات کے دوسرے ورژن کی بنیاد کے طور پر لیا۔

اب ہم نے iOS کے لیے پش نوٹیفیکیشنز کا دوسرا ورژن تیار کیا ہے، جس کی مدد سے آپ پیغام کا متن بغیر کسی حفاظتی خطرہ کے ظاہر کر سکتے ہیں۔ نئے تصور میں، منطق اس طرح نظر آتی ہے:

  • پش سروس ٹرانزیکشن نمبر کے ساتھ پش نوٹیفکیشن بھیجتی ہے (انکرپٹڈ پیغام بہت بڑا ہو سکتا ہے، اور اطلاعات کا سائز بہت محدود ہے)
  • جب ڈیوائس کو کوئی اطلاع موصول ہوتی ہے، تو یہ ہماری NotificationServiceExtension کا آغاز کرتا ہے - ایک مائیکرو ایپلیکیشن جو نوڈ سے id کے ذریعے ٹرانزیکشن کی درخواست کرتی ہے، محفوظ کردہ پاس فریز کا استعمال کرتے ہوئے اسے ڈکرپٹ کرتی ہے، اور سسٹم کو ایک نئی اطلاع بھیجتی ہے۔ پاس فریز محفوظ اسٹوریج میں محفوظ ہے۔
  • سسٹم ڈکرپٹڈ پیغام یا ترجمہ کے ساتھ ایک اطلاع دکھاتا ہے۔
  • کلیدیں کہیں نہیں جاتیں، بالکل سادہ ٹیکسٹ میسج کی طرح۔ پش سروس کے پاس پیغام کو ڈکرپٹ کرنے کا کوئی طریقہ نہیں ہے۔

محفوظ پش اطلاعات: تھیوری سے پریکٹس تک

ہم نے اس ورژن کو کام کے طور پر قبول کیا اور اسے iOS ایپلیکیشن کی تازہ ترین اپ ڈیٹ میں لاگو کیا۔
تکنیکی پہلو میں دلچسپی رکھنے والے سورس کوڈ دیکھ سکتے ہیں: github.com/Adamant-im/adamant-notificationService.

ماخذ: www.habr.com

نیا تبصرہ شامل کریں