VPN சான்றிதழ் அதிகாரத்தை மாற்றுவது கோப்பை மாற்றுவது அல்ல. புதிய CA தனது முதல் சான்றிதழில் கையொப்பமிடும் அந்த நொடியில், இன்னும் பழையதை மட்டுமே நம்பும் ஒவ்வொரு சரிபார்ப்பவரும் முடிவெடுக்க வேண்டும், புதிய நங்கூரம் கிடைக்காத புரவலர்கள் நல்ல சகாக்களை நிராகரிப்பதைத் தொடர்கின்றன. இரு திசைகளிலும் இது கெடுவதை நான் பார்த்திருக்கிறேன்: நுழைவாயில் புதிய CA-ஐக் கற்றுக்கொண்டது ஆனால் வாடிக்கையாளர்கள் கற்றுக்கொள்ளவில்லை, எனவே புதிய இணைப்புகள் தோல்வியடைந்தன, ஏற்கனவே எழுந்த சுரங்கங்கள் அப்படியே நின்று பழுதை வழிமாற்றல் சிக்கல் போலக் காட்டின. என்ன மாறுகிறது என்பதை, பழுதுகள் தோன்றும் வரிசையிலேயே கீழே தந்துள்ளேன்.

ஒரு மாற்றம், இரண்டு தனித்தனி மாற்றங்கள்

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

பெரும்பாலான VPN பயன்பாடுகள் இரு திசைகளிலும் சரிபார்க்கின்றன. வாடிக்கையாளர் நுழைவாயிலின் சான்றிதழையும், நுழைவாயில் வாடிக்கையாளரின் சான்றிதழையும் அங்கீகரிக்கின்றன. வாடிக்கையாளர் தொகுப்பை மட்டும் புதுப்பிக்கும் மாற்றம், பழைய CA அடையாளத்தை இன்னும் காட்டும் ஒவ்வொரு வாடிக்கையாளரையும் சேவையகம் நிராகரிக்க விடுகிறது, எதிர்மறையும் அவ்வளவு சாதாரணமே. முதலில் நடைமுறைப்படுத்தும் புள்ளிகளைப் பட்டியலிடுங்கள்: வாடிக்கையாளர் நம்பிக்கைக் கிடங்குகள், நுழைவாயிலின் ca கோப்பு, அதற்கு முன் TLS-ஐ முடிக்கும் எந்தப் பதிலியும், வெளியிலிருந்து முனைப் புள்ளியைச் சரிபார்க்கும் துருவி.

சரிபார்ப்பவர் எதைச் சரிபார்க்கிறார், வரிசையாக

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

அந்தப் பயணத்தை இணையமின்றி மீண்டும் செய்ய, -CAfile-ஐ நீங்கள் பயன்படுத்தப்போகும் சரியான தொகுப்புக்குக் காட்டுங்கள், கணினிக் கிடங்குக்கு அல்ல. இல்லையெனில் நீங்கள் மாற்றத்தை அல்ல, புரவலனைச் சோதிக்கிறீர்கள்:

openssl verify -CAfile new-ca.crt gateway.crt
openssl verify -CAfile new-ca.crt -untrusted intermediate.crt client.crt
openssl x509 -in gateway.crt -noout -subject -issuer -dates
openssl s_client -connect gw.example.net:443 -CAfile new-ca.crt

அந்தக் கட்டளை நுழைவாயிலின் HTTPS நிர்வாகப் பக்கம் போன்ற எளிய TLS கேட்பானுக்கு எதிராக மட்டுமே வேலை செய்கிறது; OpenVPN-இன் கட்டுப்பாட்டுத் தடம் TLS-க்கு முன் வருகிறது, எனவே s_client சுரங்கத்தின் கைக்குலுக்கலை ஆராய முடியாது.

அந்தப் பிழைகளுக்குப் பின்னுள்ள பாதை-கட்டுமான விதிகள் RFC 5280 பிரிவு 6 இல் உள்ளன. இல்லையெனில் தன்னிச்சையாகத் தோன்றும் தோல்விகளை அவை விளக்குகின்றன: யாரும் நினைவில் வைக்காத காலாவதியான இடைநிலை, அதன் விசைப் பயன்பாடு கையொப்பத்தைத் தடைசெய்யும் சான்றிதழ், அல்லது நீங்கள் சோதிக்கும் புரவலனை விலக்கும் பெயர்க் கட்டுப்பாடு.

பழைய சுரங்கம் ஏன் தொடர்ந்து வேலை செய்கிறது

TLS-உம் OpenVPN-உம் கைக்குலுக்கல் முடிந்த பிறகு நிறுவப்பட்ட அமர்வை உயிருடன் வைத்திருக்கின்றன. ஒவ்வொரு பொதிக்கும் சகாவின் சான்றிதழை மீண்டும் சரிபார்ப்பது எதுவுமில்லை, எனவே மாற்றத்துக்கு முன் இணைந்த வாடிக்கையாளர் மீண்டும் பேச்சுவார்த்தை, மீண்டும் இணைப்பு அல்லது சுரங்கம் விழும் வரை போக்குவரத்தைக் கடத்திக்கொண்டே இருக்கிறது. இந்த இடைவெளியே CA மாற்றம் ஒரு மணி நேரம் நன்றாகத் தெரிந்து பின்னர் மிக மோசமான தருணத்தில் தோல்வியடையக் காரணம்: மடிக்கணினி தூக்கத்திலிருந்து எழுகிறது, NAT வரைபடம் காலாவதியாகிறது, நுழைவாயில் மீண்டும் தொடங்குகிறது.

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

நிலையான-விசை அடுக்கை இதிலிருந்து தனியாக வைத்திருங்கள். tls-auth கட்டுப்பாட்டுத் தடத்தில் HMAC சேர்க்கிறது, tls-crypt அதை மறையாக்கி அங்கீகரிக்கிறது, இரண்டுமே சான்றிதழ்ப் பொருளை எடுத்துச் செல்வதில்லை, எனவே எதைச் சுழற்றினாலும் அதற்கே உரிய தோல்வி முறையுடன் தனி மாற்றமாகும். இரண்டையும் கலக்கும் பயன்பாடுகள், நிலையான விசை சரியாக உள்ள, சான்றிதழ் பழையதான, பிழைச் செய்தி இரண்டையும் குறிப்பிடாத வாடிக்கையாளரில் முடிகின்றன.

பொருள் பெயரை மீண்டும் பயன்படுத்தும் பொறி

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

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

வலையை வீழ்த்தாத சுழற்சி

திட்டமிட்ட மாற்றத்துக்கு ஒரே படியில் மாற்றுவதற்குப் பதிலாக வரம்பிட்ட காலத்துக்கு இரு நங்கூரங்களையும் ஏற்றுக்கொள்ளுங்கள். புதிய CA-ஐயும் அதன் இடைநிலைகளையும் வழங்குங்கள், புதிய நங்கூரத்தைப் பழையதற்கு அடுத்ததாக ஒவ்வொரு சரிபார்ப்பவரின் தொகுப்பிலும் வையுங்கள், அதன் பின்னரே அதிலிருந்து சகச் சான்றிதழ்களை வழங்கத் தொடங்குங்கள். பழைய அடையாளங்கள் உள்ள சகாக்கள் பழைய நங்கூரத்துக்கு எதிராகச் சரிபார்க்கப்படுகின்றன; புதியவை புதியதற்கு எதிராக வேலை செய்கின்றன.

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

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

முடிவைச் சரிபாருங்கள், கோப்புப் பட்டியலை அல்ல

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

புதிய அடையாளத்துடன் புதிய இணைப்பு வெற்றியடைவதை உறுதிசெய்து, பின்னர் நீக்கப்பட்ட CA வழங்கிய அடையாளம் நிராகரிக்கப்படுவதை உறுதிசெய்யுங்கள். மக்கள் தவிர்ப்பது அந்த இரண்டாவது சோதனையே, பழைய அதிகாரம் இனி அணுகல் தரவில்லை எனக் காட்டும் ஒரே சோதனையும் அதுவே. பயன்பாடு CRL அல்லது OCSP-ஐச் சார்ந்திருந்தால், புதிய சான்றிதழ்களில் உள்ள விநியோகப் புள்ளிகள் தீர்க்கப்படுகின்றனவா, கேட்கும் சகாக்கள் பதிலளிப்பவரை அடைகிறார்களா எனச் சரிபாருங்கள்.

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

தொடர்புடைய கட்டுரைகள்