TLS 1.3 இன்னும் சர்வர் பெயரை வெற்று உரையில் அனுப்புகிறது
TLS 1.3 கைக்குலுக்கலை என்க்ரிப்ட் செய்கிறது ஆனால் SNI அல்ல. ClientHello படியுங்கள், உண்மையான ECH ஏற்றுக்கொள்ளலைச் சோதித்து, பார்வையாளர் இன்னும் என்ன காண முடியும் என்பதைப் பதிவு செய்யுங்கள்.
ஒரு லிசனரை TLS 1.3க்கு மேம்படுத்துவது பார்வையாளர் என்ன படிக்க முடியும் என்பதை மாற்றுகிறது, ஆனால் பதிப்பு எண் குறிப்பதற்கு மட்டும் அல்ல. ClientHello எந்த என்க்ரிப்ஷன் பேச்சுவார்த்தைக்கும் முன்பே பயணிக்கிறது, சாதாரண இணைப்பில் கோரப்பட்ட சர்வர் பெயர் அங்கே வெற்று உரையில் உள்ளது. Encrypted Client Hello அதை மறைக்கும் பொறிமுறையாகும், மேலும் இது அதன் சொந்த முன்நிபந்தனைகளுடன் தனி பயன்பாடாகும். இரு நடத்தைகளில் ஒன்றை உள்ளடக்கிய கொள்கையை எழுதுவதற்கு முன் இந்த நான்கு படிகளைச் செய்யுங்கள்.
கைக்குலுக்கல் உண்மையில் எதை அம்பலப்படுத்துகிறது
TLS 1.3 சர்வரின் சான்றிதழையும் ServerHello க்குப் பிறகு வரும் பெரும்பாலான கைக்குலுக்கலையும் என்க்ரிப்ட் செய்கிறது. கிளையண்ட் முதலில் அனுப்புவது அந்தப் பாதுகாப்புக்கு வெளியே உள்ளது, ஏனெனில் சாவிகள் இன்னும் இல்லை. சர்வர் பெயர் சுட்டல் அந்த முதல் பயணத்தின் பகுதியாகும், அதனால் செயலற்ற பார்வையாளர் எதையும் உடைக்காமல் அதை இன்னும் படிக்க முடியும்.
ECH விவரக்குறிப்பு, RFC 9849, ஒத்துழைக்கும் சர்வருக்காக உள் ClientHello ஒன்றை என்க்ரிப்ட் செய்வதன் மூலம் இதை மாற்றுகிறது. வெளிப்புற கைக்குலுக்கல் தொடர்கிறது, நெட்வொர்க் காணக்கூடிய பொது பெயரை எடுத்துச் செல்கிறது, எனவே நடுவர்களுக்கு அர்த்தமுள்ள வெளிப்புற அடையாளம் இன்னும் தேவை. அந்த வெளிப்புறப் பெயர்தான் இணைப்பு அநாமதேயமாகும் என்று எதிர்பார்க்கும்போது மக்கள் தவறவிடும் பகுதி. இது மறைவுப் பெயர், மறைந்த பெயர் அல்ல, மற்ற எந்தப் பெயரையும் போல தீர்க்கப்பட்டு அங்கீகரிக்கப்பட வேண்டும்.
இவற்றில் எதுவும் விநியோகப் பாதையை மறைக்கவில்லை. மூல மற்றும் இலக்க முகவரிகள், துறைகள், பாக்கெட் அளவுகள் மற்றும் நேரம் காணக்கூடியதாகவே உள்ளன, அவை பெரும்பாலும் யார் பேசுகிறார்கள் என்பதைப் பெயரை விட அதிகம் சொல்கிறது. பெயர் பகுப்பாய்வு மற்றும் பயன்பாட்டு நிலை உறவுகள் மற்றொரு அடுக்கு, ஒவ்வொன்றுக்கும் அதன் சொந்தத் தெரிவுநிலை.
ஊகிக்காமல் ClientHello ஒன்றைப் படியுங்கள்
ServerHello இல் உள்ள பதிப்பு கிளையண்ட் என்ன அனுப்பியது என்பதைச் சொல்லாது. முதல் பயணத்தை நேரடியாகப் பாருங்கள், உங்களுக்கு முக்கியமான பார்வையாளரைப் பிரதிநிதித்துவப்படுத்தும் நிலையிலிருந்து.
openssl s_client -connect app.plant.example:443 -servername app.plant.example -tls1_3 </dev/null> 2>/dev/null | head -20 sudo tcpdump -ni eth0 -c 40 'tcp port 443' -w /tmp/tls.pcap tshark -r /tmp/tls.pcap -Y 'tls.handshake.extensions_server_name' -T fields -e tls.handshake.extensions_server_name
முதல் கட்டளை ஒரு கைக்குலுக்கலைச் செய்து ஒப்புக்கொள்ளப்பட்ட அளவுருக்களைக் காட்டுகிறது, அவற்றில் நெறிமுறை பதிப்பும் நீங்கள் கோரிய பெயரும் அடங்கும். இரண்டாவது உண்மையான இணைப்பின் முதல் பாக்கெட்டுகளைப் பிடிக்கிறது, மூன்றாவது அந்தப் பிடிப்பிலிருந்து SNI புலத்தை எடுக்கிறது. புலம் நிரம்பியிருந்தால், நீங்கள் பின்பற்றிய பார்வையாளர் அதைப் படிக்க முடியும்.
இரண்டும் பொருந்தாதபோது கிளையண்ட் பக்கத்திலும் பாதையிலும் தனித்தனியாகப் பிடியுங்கள், ஏனெனில் உள்ளூர்ப் பிடிப்பு ஒரு middlebox பின்னர் மீண்டும் எழுதும் அல்லது கைவிடும் பெயரைக் காட்டலாம். தானே TLS முடிக்காத ஹோஸ்ட்டிலிருந்தும் பிடியுங்கள், ஏனெனில் முடிக்கும் ப்ராக்ஸி வெற்று உரையை அதன் வடிவமைப்பின்படியே காண்கிறது, நெட்வொர்க் என்ன காண்கிறது என்பதை எதுவும் நிரூபிக்காது.
ECH நீட்டிப்பை ஒரு கூற்றாகக் கருதுங்கள், சான்றாக அல்ல
ClientHello இல் ECH நீட்டிப்பைக் காண்பது இணைப்பு ECH ஐப் பயன்படுத்தியது என்று பொருள் அல்ல. கிளையண்டுகள் பயன்படுத்தக்கூடிய உள்ளமைவு இல்லாதபோது GREASE ECH ஐ அனுப்புகின்றன, அவற்றின் கைக்குலுக்கல்கள் ஒரே மாதிரியாகத் தோன்றுவதற்காகவே. நீட்டிப்பு உள்ளது, உள் hello ஒரு தூண்டில், உண்மையான பெயர் இன்னும் படிக்கக்கூடியது.
dig +short HTTPS app.plant.example openssl s_client -connect app.plant.example:443 -tls1_3 -status </dev/null> 2>/dev/null | grep -i -E 'ech|status_request'
முதல் கட்டளை மூலம் ECH உள்ளமைவு அளவுருவுடன் HTTPS வளப் பதிவை வெளியிடுகிறதா என்பதைக் காட்டுகிறது, அப்படித்தான் கிளையண்டுகள் சாவியைக் கற்கின்றன. இரண்டாவது கைக்குலுக்கலின் நிலைத் தகவலைத் தேடுகிறது, இருப்பினும் கிளையண்டின் வெற்றிச் செய்தி வலுவான சான்று. ஏற்றுக்கொள்ளலே முக்கியம்: பொருந்தும் சாவி இல்லாத சர்வர் உள் hello ஐ மறைகுறியாக்க முடியாது, இணைப்பு பின்வாங்குகிறது.
கிளையண்டையும் சோதியுங்கள், ஏனெனில் உலாவி ஆதரவும் உள்ளமைவும் பதிப்பு மற்றும் தளத்திற்கு ஏற்ப வேறுபடும். „நவீன உலாவிகள் ECH ஐப் பயன்படுத்துகின்றன“ என்பதன் மீது கட்டப்பட்ட கொள்கை ஒரு குழுவைப் பற்றிய ஊகம், உங்கள் குழுவைப் பற்றிய உண்மை அல்ல. உண்மையில் இணைக்கும் பதிப்புகளைப் பட்டியலிட்டு, பின்னர் ஒவ்வொன்றிலிருந்தும் ஒன்றைச் சோதியுங்கள். தற்போதைய டெஸ்க்டாப் உலாவியிலிருந்து வேலை செய்யும் அதே பக்கம் அதே நெட்வொர்க்கில் உள்ள பழைய கிளையண்டிலிருந்து எதையும் மறைக்காமல் இருக்கலாம்.
பார்வையாளரின் எல்லையைக் கொள்கையில் எழுதுங்கள்
ஒரு கட்டுப்பாடு எதை நம்பலாம் என்பதை முடிவு செய்வதற்கு முன் பார்வையாளர் எங்கே அமர்கிறார், அந்தப் புள்ளியில் என்ன தெரிகிறது என்பதைக் கூறுங்கள். உலாவியின் தள இணைப்பு, வெளிப்புற VPN போக்குவரத்து மற்றும் TLS முடிக்கும் ப்ராக்ஸி — ஒவ்வொன்றும் வெவ்வேறு உண்மைத் தொகுப்பை வெளிப்படுத்துகிறது, ஒரு நிலைக்கு எழுதப்பட்ட விதி மற்றொன்றுக்கு அரிதாகவே தூய்மையாக மாற்றப்படுகிறது.
ஒரு கட்டுப்பாடு SNI படிப்பைச் சார்ந்திருந்தால், ECH கிடைக்கும்போதும் இல்லாதபோதும் பயன்படுத்தப்பட்ட கிளையண்டுகள் எப்படி நடந்துகொள்கின்றன என்பதைச் சோதியுங்கள். பின்னர் இணக்கத்தின் விளைவைப் பதிவு செய்யுங்கள், ஏனெனில் அமைதியாகப் பொருத்தத்தை நிறுத்தும் வடிகட்டி ஒருபோதும் பயன்படுத்தப்படாததை விட மோசமானது.
இறுதியாக, நிச்சயமற்ற தன்மையைப் பதிவில் வைத்திருங்கள். பழைய உலகளாவிய கூற்றைப் புதியதால் மாற்றுவது அதே இடைவெளியை வேறு நெறிமுறைப் பெயரின் கீழ் விட்டுச் செல்கிறது, அடுத்த மதிப்பாய்வாளர் அதை அதே உறுதியுடன் நம்புவார்.