பாதுகாப்பான புஷ் அறிவிப்புகள்: கோட்பாடு முதல் நடைமுறை வரை

ஹே ஹப்ர்!

பல மாதங்களாக நானும் எனது சகாக்களும் என்ன செய்து வருகிறோம் என்பதைப் பற்றி இன்று பேசுவேன்: மொபைல் உடனடி தூதர்களுக்கான புஷ் அறிவிப்புகள். நான் ஏற்கனவே கூறியது போல், எங்கள் பயன்பாட்டில் முக்கிய முக்கியத்துவம் பாதுகாப்பு. எனவே, புஷ் அறிவிப்புகளில் "பலவீனமான புள்ளிகள்" உள்ளதா என்பதையும், அப்படியானால், இந்த பயனுள்ள விருப்பத்தை எங்கள் சேவையில் சேர்ப்பதற்காக அவற்றை எவ்வாறு சமன் செய்யலாம் என்பதையும் நாங்கள் கண்டறிந்தோம்.

எங்களின் மொழிபெயர்ப்பை வெளியிடுகிறேன் நடுத்தரத்திலிருந்து கட்டுரைகள் என்னிடமிருந்து சில சிறிய சேர்த்தல்களுடன். இது "விசாரணையின்" முடிவுகளையும், பிரச்சனை எவ்வாறு தீர்க்கப்பட்டது என்பது பற்றிய கதையையும் கொண்டுள்ளது.

நாங்கள் பொருளை ஆய்வு செய்கிறோம்

கிளாசிக் மாடலில், புஷ் அறிவிப்புகள் தூதர்களை MITM (மேன்-இன்-தி-மிடில்) தாக்குதல்களுக்கு ஆளாக்குகின்றன. எடுத்துக்காட்டாக, Google, Microsoft மற்றும் iMessage இன் பழைய பதிப்பில், பயன்பாடு ஆப்பிள் சேவையகங்களுக்கு குறியாக்க விசைகளை அனுப்புகிறது - சேவையகத்தில், பயனர்கள் அங்கீகரிக்கப்பட்டு செய்தி தலைப்பு (அல்லது அதன் உள்ளடக்கம்) மறைகுறியாக்கப்படுகிறது.

பாதுகாப்பான புஷ் அறிவிப்புகள்: கோட்பாடு முதல் நடைமுறை வரை

இதன் விளைவாக, புஷ் அறிவிப்பு சேவையகத்திற்கான அணுகலைப் பெறுவதன் மூலம் கடிதத்தைப் படிக்க வாய்ப்பு உள்ளது. கடிதத்தின் எந்த குறியாக்கமும் பயனற்றது என்பதே இதன் பொருள்: புஷ் அறிவிப்புகள் மூன்றாம் தரப்பினரால் படிக்கப்படுவதற்கான வாய்ப்பை இன்னும் விட்டுவிடும். கட்டுரையின் ஆசிரியர்கள் இந்த சாத்தியத்தை இன்னும் விரிவாக விவாதித்தனர். "சரியான குறியாக்கம்" Xaker.ru இல், செய்திகளை குறியாக்கம் செய்யும் முறைகளுக்கு அர்ப்பணிக்கப்பட்டுள்ளது.

ஆப்பிள் மற்றும் கூகுள் சர்வர்கள் பயனர் குறியாக்க விசைகளை கசியவிடாமல் 100% பாதுகாப்பானவை என்று நீங்கள் நினைத்தால், அவர்களது பணியாளர்களுக்கு அவற்றை அணுகலாம். மற்றும் ஊழியர்கள் மக்கள்.
புஷ் அறிவிப்புகளின் அனைத்து பாதிப்புகள் இருந்தபோதிலும், சிக்னல் மற்றும் டெலிகிராம் உட்பட பல "பாதுகாப்பான" உடனடி தூதர்கள் அவற்றைப் பயன்படுத்துகின்றனர். இல்லையெனில், பயனர்கள் தொடர்ந்து பயன்பாட்டில் உள்நுழைவதன் மூலம் புதிய செய்திகளை "கைமுறையாக" கண்காணிக்க வேண்டும். இது மிகவும் சிரமமாக உள்ளது, மேலும் போட்டியிடும் தூதர்கள் ஒரு நன்மையைப் பெறுவார்கள்.

சித்தப்பிரமை மற்றும் பொது அறிவு


எங்கள் திட்டத்தில், பல மாதங்களுக்கு முன்பு இந்த சிக்கலை நாங்கள் நெருக்கமாக எடுத்துக் கொண்டோம். போட்டித்தன்மையுடன் இருக்க புஷ் அறிவிப்பு விருப்பத்தைச் சேர்க்க வேண்டும். ஆனால் அதே நேரத்தில், ஒரு பாதுகாப்பு துளை திறக்க வேண்டாம், ஏனெனில் எந்தவொரு தரவு கசிவும் திட்டத்தின் மீதான நம்பிக்கையை குறைமதிப்பிற்கு உட்படுத்தும்.

இருப்பினும், எங்களிடம் ஏற்கனவே ஒரு முக்கியமான நன்மை உள்ளது: எங்கள் தூதுவர் பரவலாக்கப்பட்டுள்ளார் (தரவு பிளாக்செயினில் சேமிக்கப்படுகிறது), மற்றும் ஊழியர்களுக்கு கணக்குகளுக்கான அணுகல் இல்லை. பயனர்களுக்கு மட்டுமே குறியாக்க விசைகள் உள்ளன, மேலும் MITM தாக்குதல்களில் இருந்து பாதுகாக்க பிளாக்செயினில் இடைநிலையாளர்களின் பொது விசைகள் கிடைக்கின்றன.

புஷ் அறிவிப்புகளின் முதல் பதிப்பில், அதை முடிந்தவரை பாதுகாப்பாக இயக்கவும், செய்தி உரையை அனுப்பாமல் இருக்கவும் முடிவு செய்தோம். புஷ் சேவை முனையிலிருந்து செய்தியின் உரையைப் பெறவில்லை, ஆனால் அதன் ரசீது பற்றிய ஒரு சமிக்ஞை மட்டுமே. எனவே, பயனர் "புதிய செய்தி வந்துவிட்டது" அறிவிப்பைப் பார்த்தார். மெசஞ்சரில்தான் படிக்க முடிந்தது.

பாதுகாப்பான புஷ் அறிவிப்புகள்: கோட்பாடு முதல் நடைமுறை வரை
இது எப்படி வேலை செய்தது: வீடியோ.

அதன் பிறகு, ஆப்பிளின் சமீபத்திய பதிப்பு அறிவிப்புகளில் புதிய பாதுகாப்பு அம்சங்கள் இருப்பதை அறிந்தோம். அவர்கள் வெளியிடப்பட்டது UNNotificationServiceExtension, இது டெவலப்பர்களை APNS மூலம் முழுமையாக என்க்ரிப்ட் செய்யப்பட்ட அறிவிப்புத் தரவை அனுப்ப அனுமதிக்கிறது. இறுதிப் பயனரின் சாதனத்தில் உள்ள ஆப்ஸ் பின்னர் மறைகுறியாக்கத்தைச் செய்கிறது (அல்லது கூடுதல் தரவைப் பதிவிறக்குகிறது) மற்றும் அறிவிப்பைக் காட்டுகிறது. புஷ் அறிவிப்புகளின் இரண்டாவது பதிப்பிற்கான அடிப்படையாக இதை எடுத்துக் கொண்டோம்.

iOSக்கான புஷ் அறிவிப்புகளின் இரண்டாவது பதிப்பை நாங்கள் இப்போது உருவாக்கியுள்ளோம், இது பாதுகாப்பு ஆபத்து இல்லாமல் செய்தியின் உரையைக் காண்பிக்க உங்களை அனுமதிக்கிறது. புதிய கருத்தில், தர்க்கம் இதுபோல் தெரிகிறது:

  • புஷ் சேவையானது பரிவர்த்தனை எண்ணுடன் புஷ் அறிவிப்பை அனுப்புகிறது (மறைகுறியாக்கப்பட்ட செய்தி மிகப் பெரியதாக இருக்கலாம் மற்றும் அறிவிப்புகளின் அளவு மிகவும் குறைவாக இருக்கும்)
  • சாதனம் ஒரு அறிவிப்பைப் பெறும்போது, ​​அது எங்கள் NotificationServiceExtensionஐத் தொடங்கும் - இது ஒரு மைக்ரோ அப்ளிகேஷன் ஐடி மூலம் நோடில் இருந்து பரிவர்த்தனையைக் கோருகிறது, சேமித்த கடவுச்சொற்றொடரைப் பயன்படுத்தி அதை மறைகுறியாக்குகிறது மற்றும் கணினிக்கு ஒரு புதிய அறிவிப்பை அனுப்புகிறது. கடவுச்சொற்றொடர் பாதுகாப்பான சேமிப்பகத்தில் சேமிக்கப்படுகிறது.
  • கணினி மறைகுறியாக்கப்பட்ட செய்தி அல்லது மொழிபெயர்ப்புடன் ஒரு அறிவிப்பைக் காட்டுகிறது.
  • எளிய உரைச் செய்தியைப் போலவே விசைகள் எங்கும் செல்லாது. புஷ் சேவையில் செய்தியை மறைகுறியாக்க வழி இல்லை.

பாதுகாப்பான புஷ் அறிவிப்புகள்: கோட்பாடு முதல் நடைமுறை வரை

இந்தப் பதிப்பைச் செயல்படுவதாக ஏற்றுக்கொண்டு, iOS பயன்பாட்டின் சமீபத்திய புதுப்பிப்பில் செயல்படுத்தியுள்ளோம்.
தொழில்நுட்பப் பக்கத்தில் ஆர்வமுள்ளவர்கள் மூலக் குறியீட்டைப் பார்க்கலாம்: github.com/Adamant-im/adamant-notificationService.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்