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

அறிகுறி மறைகுறியாக்கத்தை அல்ல, குறியாக்கத்தைச் சுட்டுகிறது

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

நிலைதான் துப்பு. தேர்ந்தெடுக்கப்பட்ட முன்மொழிவுக்குப் பிறகு வரும் தோல்வி என்பது இரு தரப்பும் விசைப் பொருளைத் தவிர அனைத்திலும் உடன்பட்டன என்பதாகும், ஆனால் «எந்த முன்மொழிவும் தேர்ந்தெடுக்கப்படவில்லை» என்பது கொள்கை அல்லது மறைகுறியாக்கத் தொகுப்புகளைச் சார்ந்தது. கடவுச்சொல் சரியாகத் தெரியும்போது தோல்வியடையும் ஒருமைப்பாட்டுச் சோதனை குறியாக்க வேறுபாட்டின் தெரியும் முகம்.

ஒரு ரகசியம், கோப்பு அதைப் படிக்கக்கூடிய மூன்று வழிகள்

நான்கு பைட் மதிப்புக்கு key1 பதினாறிலக்கம் மற்றும் Base64 ஆகியவை ஒரே பைட்டுகளின் இரு மறுகுறியாக்கங்கள், மேலும் முன் எழுத்துகள் மட்டுமே பகுப்பாய்வியிடம் எதை வைத்திருக்கிறார் என்பதைச் சொல்கின்றன. swanctl சான்றுகள் அதே மரபைப் பின்பற்றுகின்றன, எனவே இரு இடைமுகங்களுக்கு இடையே நகர்த்தப்படும் மதிப்பு அதன் முன்னொட்டு உடன் சென்றால் மட்டுமே பொருளைத் தக்கவைக்கிறது.

10.20.0.5 %any : PSK "key1"
10.20.0.5 %any : PSK 0x6b657931
10.20.0.5 %any : PSK 0sa2V5MQ==

அந்தத் தொகுதியில் இரு விவரங்கள் அதிக நேரம் எடுக்கின்றன. பதினாறிலக்க இலக்கங்கள் இரு நிலைகளையும் ஏற்கின்றன, எனவே 0x6b657931 மற்றும் 0x6B657931 ஒரே மதிப்பு, ஆனால் ஒற்றைப்படை எண்ணிக்கையிலான எழுத்துகள் நிராகரிக்கப்படாமல் அமைதியாகத் தவறாகப் படிக்கப்படுகின்றன, இது வெட்டுக்குப் பிறகு ஒவ்வொரு பைட்டையும் நகர்த்துகிறது. Base64 நிரப்பு மதிப்பின் ஒரு பகுதி, எனவே இறுதி = குறிகளின்றி ஒட்டப்பட்ட சரம் சத்தமாகத் தோல்வியடைவதற்குப் பதிலாக வேறு பைட்டுகளாக மறைகுறியாக்கப்படுகிறது.

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

Base64 உரை எங்கிருந்து வருகிறது

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

இரு திசைகளும் தலா ஒரு கட்டளை, மேலும் சேமிக்கப்பட்ட மதிப்பை உருவாக்கிய துல்லியமான செயல்பாடாக அவற்றை டிக்கெட்டில் வைத்திருப்பது மதிப்புள்ளது. அவற்றை இந்த வரிசையில் இயக்கவும்:

printf '%s' 'a2V5MQ==' | base64 -d
printf '%s' 'key1' | base64

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

ஒவ்வொரு இணையாளரும் உண்மையில் எந்தப் பைட்டுகளைப் பயன்படுத்துகிறார் என்பதை உறுதிசெய்யவும்

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

கோப்பு சரியானதும் மீண்டும் தொடங்குவதற்குப் பதிலாக மீண்டும் ஏற்றவும். ipsec rereadsecrets IKE டீமனின் நகலைப் புதுப்பிக்கிறது, swanctl அமைப்பு அதன் சொந்தக் கட்டளையால் சான்றுகளை ஏற்றுகிறது. மீண்டும் தொடங்குவது நிறுவப்பட்ட ஒவ்வொரு தொடர்பையும் கைவிட்டு நீங்கள் செய்ய முயன்ற ஒப்பீட்டை அழிக்கிறது.

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

முடிவை மறைக்காமல் கோப்பை மாற்றவும்

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

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

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