Android IKEv2: பயனர் சான்றிதழும் CA-வும் வெவ்வேறு பணிகளைச் செய்கின்றன
பயனர் சான்றிதழ் ஒன்று, CA சான்றிதழ் ஒன்று என ஒரே திரையில் இரண்டையும் கேட்பது ஒரே விஷயத்தை இரண்டு முறை கேட்பது போல் தோன்றும். ஆனால் அது அப்படி அல்ல. இரண்டு தரப்பையும், இரண்டு திசைகளிலும் ஒரே பரிமாற்றத்தில் IKEv2 அங்கீகரிக்கிறது; ஒவ்வொரு திசையிலும் தொலைபேசிக்கு வேறு பங்கு உள்ளது.
பயனர் சான்றிதழும் CA சான்றிதழும் கேட்கும் Android IKEv2 திரை ஒரே விஷயத்தை இரண்டு முறை கேட்பது போல் தோன்றுகிறது. அது அப்படி அல்ல. IKEv2 இரு தரப்பையும், இரு திசைகளிலும், ஒரே பரிமாற்றத்திற்குள் அங்கீகரிக்கிறது; ஒவ்வொரு திசையிலும் தொலைபேசிக்கு வேறு பங்கு உள்ளது: தான் யார் என்பதை நிரூபிக்க வேண்டும், எந்த கேட்வேயை நம்புவது என்று முடிவு செய்ய வேண்டும். பயனர் சான்றிதழ் முதல் கேள்விக்குப் பதில் அளிக்கிறது, நம்பகமான CA இரண்டாவதற்கு; ஒன்று மற்றொன்றுக்குப் பதிலாக நிற்க முடியாது.
ஒரே பரிமாற்றத்தில் இரண்டு திசை அங்கீகாரம்
IKEv2 இரண்டு கட்டங்களில் ஒரு கட்டுப்பாட்டு சேனலை நிறுவுகிறது. முதல் பரிமாற்றம் வழிமுறைகளையும் விசைகளையும் பேச்சுவார்த்தை செய்கிறது; இரண்டாவது, IKE_AUTH, ஒவ்வொரு தரப்பின் அடையாளத்துடன் ஒவ்வொரு பக்கத்திலிருந்தும் ஒரு AUTH பேலோடைக் கொண்டு செல்கிறது. பேலோடு என்பது பரிமாற்றத்தின் மேல் கணக்கிடப்படும் கையொப்பம் அல்லது MAC, மேலும் பெறுநர் ஏற்கனவே நம்பும் ஒன்றுக்கு எதிராகச் சரிபார்க்கப்படுகிறது.
கேட்வே தன் சொந்த சான்றிதழால் தன் அடையாளத்தை நிரூபிக்கிறது; தொலைபேசி அந்தச் சான்றிதழின் சங்கிலியைத் தான் நம்பத் தயாராக இருக்கும் ஒரு வேர் வரை சரிபார்த்து, பின்னர் சான்றிதழில் உள்ள அடையாளம் தான் அடைய நினைத்த கேட்வேயுடன் பொருந்துகிறதா என்று பார்க்கிறது. தொலைபேசி தன் சொந்தச் சான்றுகளால் தன் அடையாளத்தை நிரூபிக்கிறது; கேட்வே கிளையண்ட் சான்றிதழை வழங்கிய CA-வுக்கு எதிராக அதைச் சரிபார்க்கிறது.
இரு புலங்களுக்குப் பின்னால் உள்ள முழு பொறிமுறையும் இதுவே. பயனர் சான்றிதழ் தொலைபேசி தன்னைப் பற்றிச் சொல்லும் ஒரு கூற்று; CA புலம் தொலைபேசி யாரை நம்பும் என்பதைப் பற்றிய கூற்று. ஒன்றை மட்டும் கொண்டு மற்றொன்று இல்லாத சுயவிவரம் பரஸ்பர அங்கீகாரத்தை முடிக்க முடியாது, எத்தனை முறை முயன்றாலும் அது மாறாது. அந்த இரண்டு தோல்விகளும் வெவ்வேறாகவே தெரிகின்றன: பயனர் விசை இல்லாவிட்டால் தொலைபேசி கையொப்பத்தையே உருவாக்க முடியாது; நம்பிக்கை நங்கூரம் இல்லாவிட்டால் கேட்வேயின் சான்றிதழை ஏற்க முடியாது.
| Material | Role | What it cannot do |
|---|---|---|
| User certificate plus its private key | Proves possession of the enrolled client identity | Establish that the gateway is the right one |
| Trusted CA certificate | Validates the gateway chain under the intended identity checks | Prove the client's identity to the gateway |
| Expected gateway identity | Pins which server the phone accepts | Grant that user access to every private resource |
Android சுயவிவர உருவாக்கி எதைக் கேட்கிறது
Google-இன் IKEv2 சுயவிவர உருவாக்கி ஒவ்வொரு அங்கீகார முறையையும் தனித்தனியாக வெளிப்படுத்துகிறது, ஒரே சான்றிதழ் பயன்முறையாக அல்ல. டிஜிட்டல் கையொப்ப முறை பயனர் சான்றிதழ், தனிப்பட்ட விசை மற்றும் சேவையகத்தின் வேர் CA-வை எடுத்துக்கொள்கிறது. மற்ற முறைகள் பயனர்பெயர் மற்றும் கடவுச்சொல், அல்லது முன்பே பங்கிடப்பட்ட விசையை எடுத்துக்கொள்கின்றன.
அந்தக் கையொப்பத்தைக் கூர்ந்து படியுங்கள், ஏனெனில் அது மேலே உள்ள பொறிமுறையைக் குறியாக்குகிறது. பயனர்பெயர் மற்றும் கடவுச்சொல் முறையில் பயனரின் தனிப்பட்ட விசைக்குப் புலம் இல்லை; PSK முறையில் கேட்வேயின் நம்பிக்கை நங்கூரத்திற்குப் புலம் இல்லை; ஏனெனில் அந்த முறைகள் வெவ்வேறு விஷயங்களை நிரூபிக்கின்றன. கடவுச்சொல்லைச் சான்றிதழ் புலத்தில் ஒட்டி அவற்றைக் கலந்தால், IKE_AUTH-இல் தோல்வியடையும் சுயவிவரம் கிடைக்கும்; அந்த பிழைச்செய்தி இரண்டையும் பெயரிடாது.
டிஜிட்டல் கையொப்ப முறைக்கு ஆவணப்படுத்தப்பட்ட தனிப்பட்ட விசை வகை RSA. IPsec அல்லது சான்றிதழ் எனக் குறிக்கப்பட்ட பட்டி ECDSA ஆதரவைக் குறிக்காது; அது உள்ளது என்ற அனுமானத்தில் கட்டப்பட்ட சுயவிவரம், வலையமைப்பே சம்பந்தப்படுவதற்கு முன்பே தளத்தின் API-இல் தோல்வியடையும்.
பொது பயனர் சான்றிதழ் மட்டும் ஏன் போதாது
AUTH பேலோடு என்பது கிளையண்டின் தனிப்பட்ட விசையால் பரிமாற்றத்தின் மேல் இடப்படும் கையொப்பம். பொதுச் சான்றிதழ் இருந்தால் கேட்வே ஒரு கையொப்பத்தைச் சரிபார்க்க முடியும்; தொலைபேசிக்கு அது எதுவும் செய்யாது, ஏனெனில் கையொப்பத்தை உருவாக்க விசை தேவை. .crt மட்டும் இறக்குமதி செய்து விசையை விட்டுவிடுவது இந்தத் தோல்வியின் மிகவும் பொதுவான வடிவம்.
Android-இன் விசை உள்கட்டமைப்பு இதைப் பிரதிபலிக்கிறது. கிளையண்ட் அடையாளத்தைத் தேர்ந்தெடுப்பது KeyChain வழியாக நடக்கிறது; அதற்கு சான்றிதழ்ப் பதிவு மட்டுமல்ல, தொடர்புடைய தனிப்பட்ட விசைக்கான அணுகல் தேவை. இரண்டையும் சேர்த்து நிறுவும் பதிவுச் சுருங்குறிப்பு அல்லது சாதன மேலாண்மை பணிப்பாய்வே பயன்படுத்தக்கூடிய அடையாளத்தைப் பெறும் வழக்கம்; கையால் சான்றிதழ் கோப்பை நகலெடுப்பது பொதுவாக அதுவல்ல.
எனவே சுயவிவரத்தில் உள்ள இரண்டு உருப்படிகளும் ஒரு சான்றிதழ்த் தொகுப்பும் அதன் நகலும் அல்ல. ஒன்று தளம் கையொப்பமிட முடிய வேண்டிய விசை இணை; மற்றொன்று தளம் ஒப்பிடும் நம்பிக்கை நங்கூரம். இரண்டு தனித்தனி உண்மைகளாகச் சரிபாருங்கள்: இந்தச் சுயவிவரம் கையொப்பமிட முடியுமா, யாரை நம்புவது என்று அது அறியுமா?
நம்பிக்கை நங்கூரங்கள் பயன்பாட்டுக்குச் சொந்தம், தொலைபேசிக்கு அல்ல
பயனர் சேமிப்பகத்தில் வேர் சான்றிதழை நிறுவினால் ஒவ்வொரு Android பயன்பாடும் அதை நம்பும் என்று ஆகாது: Android 7 முதல் ஒரு பயன்பாடு தன் வலையமைப்புப் பாதுகாப்பு உள்ளமைவின் வழியாக விருப்பம் தெரிவிக்க வேண்டும்; அந்தப் பதிப்புக்கு முன் பயனர் நிறுவிய CA-கள் மிகவும் பரந்த அளவில் ஏற்கப்பட்டன. பயன்பாட்டு நம்பிக்கை உள்ளமைவு வேறுபடலாம்; தன் நம்பிக்கைப் பொருட்களைத் தானே நிர்வகிக்கும் VPN கிளையண்ட் பயனர் சேமிப்பகத்தையே பார்க்காமல் இருக்கலாம். அதனால்தான் ஒரே CA கோப்பு ஒரு கிளையண்டில் வேலை செய்து மற்றொன்றில் புறக்கணிக்கப்பட்டதாகத் தோன்றுகிறது.
இதிலிருந்து இரண்டு உரிமை மாதிரிகள் வருகின்றன. கணினியால் நிர்வகிக்கப்படும் VPN சுயவிவரம் சாதனத்தின் சான்றிதழ் நிறுவலை அல்லது நிர்வாகி பதிவு பணிப்பாய்வைப் பயன்படுத்துகிறது; பின்னர் சுயவிவரம் நோக்கமான CA-வைக் குறிப்பிடுகிறது. பயன்பாட்டால் நிர்வகிக்கப்படும் VPN தன் நம்பிக்கைப் பொருட்களை வைத்துக்கொண்டு தன் ஆவணப்படுத்தப்பட்ட இறக்குமதியைப் பயன்படுத்துகிறது; அது Android அமைப்புகள் திரையிலிருந்து முற்றிலும் தனியாக இருக்கலாம். உடைந்த சங்கிலியையும் அங்கேதான் சரிசெய்வீர்கள்: கணினி நிர்வாக வழக்கில் CA சேமிப்பகத்திலும் சுயவிவரத் தேர்விலும், பயன்பாட்டு நிர்வாக வழக்கில் கிளையண்டின் சொந்த இறக்குமதித் திரையிலும்.
எதையும் இறக்குமதி செய்வதற்கு முன் நீங்கள் எந்த மாதிரியில் இருக்கிறீர்கள் என்று முடிவு செய்யுங்கள், பின்னர் செயலில் உள்ள சுயவிவரத்தின் நம்பிக்கைத் தேர்வை உறுதிப்படுத்துங்கள். இயக்குபவரின் வழிமுறைகளும் கிளையண்டின் பட்டியும் முரண்பட்டால், அந்த நிறுவலுக்கு கிளையண்டின் ஆவணப்படுத்தப்பட்ட நடத்தையே வெல்லும்; ஆனால் CA இன்னும் நீங்கள் சரிபார்க்கக்கூடிய வழியில் இயக்குபவரிடமிருந்தே வர வேண்டும். கோப்பின் பெயர் அதை யார் வழங்கியது என்பதற்குச் சான்று அல்ல.
முதலில் பயன்முறையைத் தேர்ந்தெடுங்கள், பின்னர் கோப்புகளை
சான்றிதழ் பயன்முறைக்கு கிளையண்ட் விசை இணை, கேட்வே பக்கத்தில் வழங்கும் CA, கேட்வே சான்றிதழுக்கான நம்பிக்கை நங்கூரம், அந்தச் சான்றிதழ் கொண்டிருக்க வேண்டிய அடையாளம் பற்றிய எதிர்பார்ப்பு தேவை. பயனர்பெயர் மற்றும் கடவுச்சொல் பயன்முறை கிளையண்ட் விசை இணையைச் சான்றுகளால் மாற்றுகிறது, ஆனால் கேட்வே நம்பிக்கைத் தேவையை அப்படியே வைத்திருக்கிறது. PSK பயன்முறை இரண்டையும் ஒரு பங்கிடப்பட்ட ரகசியத்தால் மாற்றி, நம்பிக்கை மாதிரியை எளிமைப்படுத்தாமல் மாற்றுகிறது.
எதைத் தேர்ந்தெடுத்தாலும் சாதாரண சரிபார்ப்பை இயக்கத்திலேயே வைத்திருங்கள். கிளையண்ட் வழங்கும் சரிபார்க்க வேண்டாம் விருப்பம், CA புலம் இருக்கும் நோக்கமான சரிபார்ப்பை நீக்கிவிடும்; காணாமல் போன நம்பிக்கை நங்கூரத்தை அது சரிசெய்யாது. இணைப்பு அது இல்லாமல் வேலை செய்கிறது என்பதற்காக எந்தச் சேவையகச் சான்றிதழையும் ஏற்பதும் அதே போன்றது.
பின்னர் சரியான இடத்தில் சரிபாருங்கள்: பொருட்களை இறக்குமதி செய்து, ஒரு முறை இணைத்து, கிளையண்டின் இணைப்பு விவரங்களில் கேட்வே அடையாளம் நீங்கள் எதிர்பார்த்ததே என்றும், நீங்கள் பயன்படுத்த நினைத்த அங்கீகார முறையைச் சுயவிவரம் தெரிவிக்கிறது என்றும் உறுதிப்படுத்துங்கள். தவறான முறையைத் தேர்ந்தெடுத்த நிலையில் வெற்றிகரமான இணைப்பு என்பது நீங்கள் இன்னும் புரிந்துகொள்ளாத உள்ளமைவு; இயக்குபவர் அடுத்த முறை கொள்கையை இறுக்கும்போது அது தோல்வியடையும்.