Luwas nga mga pahibalo sa pagduso: gikan sa teorya hangtod sa praktis

Hoy Habr!

Karon akong hisgutan kung unsa ang gibuhat nako ug sa akong mga kauban sa daghang mga bulan karon: pagduso mga pahibalo alang sa mga mobile instant messenger. Sama sa giingon ko na, sa among aplikasyon ang panguna nga gipasiugda mao ang seguridad. Busa, nahibal-an namon kung ang mga pahibalo sa pagduso adunay "huyang nga mga punto" ug, kung mao, kung giunsa namon kini ma-level out aron madugang kini nga mapuslanon nga kapilian sa among serbisyo.

Nagpatik ko ug hubad sa among mga artikulo gikan sa Medium uban ang pipila ka gagmay nga mga pagdugang gikan sa akong kaugalingon. Naglangkob kini sa mga resulta sa "imbistigasyon" ug usa ka istorya kung giunsa nasulbad ang problema.

Atong susihon ang materyal

Sa klasiko nga modelo, ang mga pahibalo sa pagduso naghimo sa mga mensahero nga huyang sa mga pag-atake sa MITM (Man-in-the-middle). Pananglitan, sa Google, Microsoft, ug sa daan nga bersyon sa iMessage, ang aplikasyon nagpadala sa mga yawe sa pag-encrypt sa mga server sa Apple - sa server, ang mga tiggamit gipamatud-an ug ang header sa mensahe (o ang sulud niini) gi-decrypted.

Luwas nga mga pahibalo sa pagduso: gikan sa teorya hangtod sa praktis

Ingon usa ka sangputanan, adunay higayon nga mabasa ang mga sulat pinaagi sa pag-access sa server sa pagpahibalo sa push. Kini nagpasabut nga ang bisan unsang pag-encrypt sa mga sulat walay kapuslanan: ang mga pahibalo sa pagduso magbilin gihapon sa posibilidad nga mabasa sa mga ikatulo nga partido. Ang mga tagsulat sa artikulo naghisgot niini nga posibilidad sa mas detalyado. "Pag-encrypt sa husto" sa Xaker.ru, gipahinungod sa mga pamaagi sa pag-encrypt sa mga mensahe.

Kung sa imong hunahuna ang mga server sa Apple ug Google 100% luwas batok sa pagtulo sa mga yawe sa pag-encrypt sa gumagamit, hunahunaa ang kamatuoran nga ang ilang mga empleyado adunay access sa kanila. Ug ang mga empleyado mga tawo.
Bisan pa sa tanan nga mga kahuyang sa mga pahibalo sa pagduso, daghang mga "secure" nga instant messenger, lakip ang Signal ug Telegram, ang naggamit niini. Kung dili, ang mga tiggamit kinahanglan nga "manual" nga mag-monitor sa mga bag-ong mensahe pinaagi sa kanunay nga pag-log in sa aplikasyon. Nga dili kaayo kombenyente, ug ang mga nakigkompetensya nga mga mensahero makakuha usa ka bentaha.

Paranoia ug sentido komon


Sa among proyekto, gisusi namo kini nga isyu pipila ka bulan ang milabay. Kinahanglan namon nga magdugang usa ka kapilian sa pagpahibalo sa pagduso aron mahimong kompetisyon. Apan sa parehas nga oras, ayaw pag-abli sa usa ka lungag sa seguridad, tungod kay ang bisan unsang pagtulo sa datos makapahuyang sa pagsalig sa proyekto.

Bisan pa, kami adunay usa ka hinungdanon nga bentaha: ang among mensahero desentralisado (ang datos gitipigan sa blockchain), ug ang mga empleyado walay access sa mga account. Ang mga tiggamit lamang ang adunay mga yawe sa pag-encrypt, ug ang mga yawe sa publiko sa mga interlocutor anaa sa blockchain aron mapanalipdan batok sa mga pag-atake sa MITM.

Sa una nga bersyon sa mga pahibalo sa pagduso, nakahukom kami nga dulaon kini nga luwas kutob sa mahimo ug dili gyud ipadala ang teksto sa mensahe. Ang serbisyo sa pagduso wala makadawat sa teksto sa mensahe gikan sa node, apan usa lamang ka signal bahin sa kamatuoran sa resibo niini. Busa, ang user nakakita sa "Bag-ong mensahe miabut" nga pahibalo. Posible nga mabasa kini sa mensahero.

Luwas nga mga pahibalo sa pagduso: gikan sa teorya hangtod sa praktis
Giunsa kini nagtrabaho: video.

Pagkahuman niana, nahibal-an namon nga ang labing bag-ong bersyon sa mga pahibalo sa Apple adunay bag-ong mga bahin sa seguridad. Sila gibuhian UNNotificationServiceExtension, nga nagtugot sa mga developers sa pagpadala sa bug-os nga encrypted notification data sa APNS. Ang app sa end user's device unya mohimo sa decryption (o mag-download og dugang nga data) ug magpakita og pahibalo. Gikuha namo kini isip basihan sa ikaduhang bersyon sa push notifications.

Nahimo na namon karon ang ikaduhang bersyon sa mga abiso sa pagduso alang sa iOS, nga nagtugot kanimo sa pagpakita sa teksto sa mensahe nga wala’y peligro sa seguridad. Sa bag-ong konsepto, ang logic ingon niini:

  • Ang serbisyo sa pagduso nagpadala usa ka pahibalo sa pagduso nga adunay numero sa transaksyon (ang naka-encrypt nga mensahe mahimong dako kaayo, ug ang gidak-on sa mga pahibalo limitado kaayo)
  • Kung ang aparato makadawat usa ka pahibalo, kini maglansad sa among NotificationServiceExtension - usa ka microapplication nga nangayo usa ka transaksyon gikan sa node pinaagi sa id, gi-decrypt kini gamit ang gitipig nga passphrase, ug nagpadala usa ka bag-ong pahibalo sa sistema. Ang passphrase gitipigan sa luwas nga pagtipig.
  • Nagpakita ang sistema og pahibalo nga adunay decrypted nga mensahe o hubad.
  • Ang mga yawe dili moadto bisan asa, sama sa yano nga text message. Ang serbisyo sa pagduso walay paagi sa pag-decrypt sa mensahe.

Luwas nga mga pahibalo sa pagduso: gikan sa teorya hangtod sa praktis

Gidawat namo kini nga bersyon isip nagtrabaho ug gipatuman kini sa pinakabag-o nga update sa iOS application.
Kadtong interesado sa teknikal nga bahin makatan-aw sa source code: github.com/Adamant-im/adamant-notificationService.

Source: www.habr.com

Idugang sa usa ka comment