Heus Habr!
Hodie de his quae collegae mei sunt et aliquot menses nunc egi: notificationes movebo nuntiorum mobilium instantium. Ut iam dixi, in applicatione nostra principale momentum in securitate est. Investigamus ergo an notificationes impulsus "puncta infirma" habeant et, si ita, quomodo eas exaequare possumus, ut hanc optionem utilem servitio nostro adiungamus.
Ego translationem publici iuris nostri facio
Materiel examinamus
In classicis exemplaribus notificationes impulsus nuntios MITM (Man-in-medii) vulnerabiles faciunt. Exempli gratia, cum Google, Microsoft et in veteri versione iMessage, applicatio claves encryptionis Apple servientibus mittit - in calculonis usoribus authenticis et nuntius capitis (vel eius contentus) decrypta est.
Quam ob rem, facultas est legendi correspondentiam per accessum ad notificationem dis server. Hoc significat quodvis encryption correspondentiae inutilis est: notificationes impulsus adhuc facultatem legendi per partes tertias relinquet. De hac possibilitate fusius auctores articuli disputaverunt.
Si Apple et Google servers C% secure contra claves encryption usoris portasse censes, id considera quod accessum ad eas conductos habeant. Sunt et elit populus.
Quamvis omnes vulnerabiles notificationes impulsus, multi nuncii "securi" instant, inter signum et Telegram, illis utuntur. Alioquin, usores debebunt "manually" monitor novas nuntios assidue colligationem in applicatione. Quod valde incommodum est, et nuncii certatim commodum obtinebunt.
Paranoia et sensus communis
In nostro proposito hanc quaestionem ante aliquot menses proxime suscepimus. Nobis opus est optioni notificationis impulsum addere ut competitive esse. Sed simul, ne foramen securitatis aperias, quia notitia quaevis effluo in rei fiduciam labefaciet.
Tamen iam magnum commodum habemus: nuntius noster decentralized (data in claustro reposita est), et operarii aditus ad rationes non habent. Tantum utentes claves encryptionum habent, et claves publicae interlocutorum praesto sunt in claustro ad tuendum contra impetus MITM.
In prima notificationum versione dis, eam quam maxime tutam agere decrevimus nec nuntium textum omnino transmittere. Ministerium impulsus textum nuntii e nodo non recipiebat, sed tantum signum de facto acceptionis suae. Ideo utens vidit notificationem "Novus nuntius advenit". Potuit hoc solum in nuntio legere.
Post hoc cognovimus novissimam versionem notificationum Apple novas lineas securitatis habere. They
Nunc alteram versionem notificationum dis notificationum pro iOS elaboravimus, quae te permittit ut textus nuntii sine periculo securitatis exhibeas. In novo notione logica sic se habet:
- Dis ministerium mittit impulsum notificationem cum negotio numero (nuntius encrypted potest esse amplissimus, et magnitudo notificationum valde limitata)
- Cum machina notificationem accipit, nostram NotificationServiceExtensionem - microapplicationem movet quae transactionem a nodo per id petit, decryptas servatas passphrases utens, novamque notificationem ad systema mittit. The passphrase is stored in secure storage.
- Systema notificationem exhibet decrypted nuntium vel translationem.
- Claves non alicubi eunt, sicut nuntius textus plani. Dis ministerium nullum habet nuntium ad minuendum.
Hanc versionem accepimus ut operantes et perficiamus eam in recentissima renovatione applicationis iOS.
Ii, quorum interest in parte technica, fontem codicem videre possunt:
Source: www.habr.com