VPN സ്വകാര്യ കീയിലെ പാസ്ഫ്രേസ് യഥാർത്ഥത്തിൽ എന്താണ് സംരക്ഷിക്കുന്നത്
അത് ഡിസ്കിലെ ഫയൽ ലോക്ക് ചെയ്യുന്നു, പ്രവർത്തിക്കുന്ന ടണൽ അല്ലെങ്കിൽ നിങ്ങളുടെ അക്കൗണ്ട് ലോഗിൻ അല്ല. പ്രോംപ്റ്റ് എന്ത് ഉൾക്കൊള്ളുന്നു, എന്ത് ഇല്ല, ചോർന്നാൽ എന്ത് ചെയ്യണം എന്ന് അറിയുക.
VPN ക്ലയന്റ് ആരംഭിക്കുമ്പോൾ കാണുന്ന പ്രോംപ്റ്റ് തെറ്റായി വായിക്കാൻ എളുപ്പമാണ്. അത് VPN അക്കൗണ്ട് പാസ്വേഡല്ല, ടണലിന്റെ പാസ്വേഡല്ല, അത് നൽകുന്നത് കണക്ഷൻ സുരക്ഷിതമാണെന്ന് തെളിയിക്കുന്നുമില്ല. അത് സ്വകാര്യ കീയുടെ ഒരു സംഭരിച്ച പ്രാതിനിധ്യം അൺലോക്ക് ചെയ്യുന്നു, അതുവഴി ക്ലയന്റിന് കീ മെറ്റീരിയൽ വായിച്ച് പ്രാമാണീകരണത്തിന് ഉപയോഗിക്കാം. അതിന് ശേഷം സംഭവിക്കുന്നതെല്ലാം മറ്റൊരു ചോദ്യമാണ്.
പ്രായോഗികമായി ഉത്തരം അരികുകളിൽ പിഴയ്ക്കുന്നു: പാസ്ഫ്രേസ് പ്രവർത്തിക്കുന്ന ടണലിനെ സംരക്ഷിക്കുന്നു, അല്ലെങ്കിൽ അത് മാറ്റുന്നത് ഇതിനകം ചോർന്ന കീയുടെ പകർപ്പ് റദ്ദാക്കുന്നു എന്ന് ആളുകൾ കരുതുന്നു. രണ്ട് അനുമാനങ്ങളും പരാജയപ്പെടുന്നു, ഒപ്പം ഒരു ക്രെഡൻഷ്യൽ തുറന്നുകിടക്കുമ്പോൾ ഓപ്പറേറ്റർ അത് കൈകാര്യം ചെയ്തുവെന്ന് വിശ്വസിക്കുന്ന രീതിയിൽ പരാജയപ്പെടുന്നു.
ഒരു സംഭാഷണം, പല വ്യത്യസ്ത രഹസ്യങ്ങൾ
സ്വകാര്യ കീയുടെ പാസ്ഫ്രേസ് ഒരു ഫയൽ ഡീക്രിപ്റ്റ് ചെയ്യുന്നു. അക്കൗണ്ട് പാസ്വേഡ് നിങ്ങളെ ഒരു സേവനത്തിൽ പ്രാമാണീകരിക്കുന്നു. PKCS#12 ഇമ്പോർട്ട് പാസ്വേഡ് കീയും അതിന്റെ സർട്ടിഫിക്കറ്റും അടങ്ങുന്ന ബണ്ടിൽ ഡീക്രിപ്റ്റ് ചെയ്യുന്നു, അത് കീയുടെ സ്വന്തം പാസ്ഫ്രേസിന് സമാനമായ സ്ട്രിംഗ് ആയിരിക്കണമെന്നില്ല. ഈ പ്രോംപ്റ്റുകൾ ഏതാണ്ട് ഒരേപോലെ കാണാം, ഏത് രഹസ്യം എവിടെ പോകുന്നു എന്ന് ഊഹിക്കുന്നതാണ് കീകൾ തെറ്റായ ഫീൽഡിൽ പതിയാൻ കാരണം.
ടണലിന്റെ സ്വന്തം എൻക്രിപ്ഷൻ നാലാമത്തെ കാര്യമാണ്. ഡാറ്റാ ചാനൽ ഹാൻഡ്ഷേക്കിൽ ചർച്ച ചെയ്ത സെഷൻ കീകൾ ഉപയോഗിക്കുന്നു; സ്വകാര്യ കീയുടെ പാസ്ഫ്രേസിന് വ്യക്തിഗത പാക്കറ്റുകളുടെ സംരക്ഷണത്തിൽ യാതൊരു പങ്കുമില്ല. ആർക്കെങ്കിലും കീ ഫയൽ വായിക്കാൻ കഴിഞ്ഞാൽ, അവർ ഓഫ്ലൈനായി പാസ്ഫ്രേസ് ഊഹിക്കാൻ ശ്രമിക്കാം, പക്ഷേ പാക്കറ്റുകൾ വായിക്കാൻ കഴിഞ്ഞാൽ, പാസ്ഫ്രേസ് അപ്രസക്തമാണ്.
ഡിസ്കിലെ എൻക്രിപ്ഷൻ എന്ത് ഉൾക്കൊള്ളുന്നു
എൻക്രിപ്റ്റ് ചെയ്ത PEM കീ രണ്ട് രൂപങ്ങളിൽ വരുന്നു, ഹെഡർ നിങ്ങൾക്ക് ഏതാണെന്ന് പറയുന്നു. ആധുനിക PKCS#8 രൂപം -----BEGIN ENCRYPTED PRIVATE KEY----- എന്നതിൽ തുടങ്ങുന്നു; പഴയ OpenVPN ക്രമീകരണങ്ങളിൽ ഇപ്പോഴും സാധാരണമായ പഴയ PEM രൂപം -----BEGIN RSA PRIVATE KEY----- എന്നതിൽ തുടങ്ങി അതിന് തൊട്ടുതാഴെ Proc-Type: 4,ENCRYPTED, DEK-Info വരികൾ വഹിക്കുന്നു. ഫയൽ സ്വകാര്യ കീയെ നിങ്ങളുടെ പാസ്ഫ്രേസിൽ നിന്ന് ഉരുത്തിരിഞ്ഞ കീയുടെ കീഴിൽ എൻക്രിപ്റ്റ് ചെയ്ത് സൂക്ഷിക്കുന്നു, സാധാരണയായി നിർദ്ദിഷ്ട ആവർത്തന സംഖ്യയോ പ്രവർത്തന ഘടകമോ ഉള്ള പാസ്വേഡ് അടിസ്ഥാനമാക്കിയ KDF വഴി. OpenSSL pkey ഡോക്യുമെന്റേഷൻ ഫോർമാറ്റുകളും വായിക്കുമ്പോൾ ബാധകമാകുന്ന പാസ്ഫ്രേസ് ഓപ്ഷനുകളും ഉൾക്കൊള്ളുന്നു.
ഇതിൽ നിന്ന് രണ്ട് അനന്തരഫലങ്ങൾ ഉണ്ട്. ദുർബലമായ പാസ്ഫ്രേസ് KDF അനുവദിക്കുന്ന വേഗതയിൽ ഓഫ്ലൈൻ ആക്രമണത്തിന് വിധേയമാണ്, അതിനാൽ ഫയൽ എൻക്രിപ്റ്റ് ചെയ്തിട്ടുണ്ടെങ്കിലും ഫയൽ അനുമതികളും ബാക്കപ്പുകളിലേക്കുള്ള പ്രവേശനവും പ്രധാനമാണ്. പാസ്ഫ്രേസ് ഇല്ലാതെ ഫയൽ മാത്രം ലഭിക്കുന്ന ആക്രമണകാരി ഊഹിക്കേണ്ടതുണ്ട്; ഫയലും പാസ്ഫ്രേസും ഒരുമിച്ച് ലഭിക്കുന്നയാളുടെ പക്കൽ കീ ഉണ്ട്, അത് ഒരിക്കലും എൻക്രിപ്റ്റ് ചെയ്തിട്ടില്ലാത്തതുപോലെ.
head -3 vpn.key
openssl pkey -in vpn.key -noout -pubout
openssl pkcs12 -in bundle.p12 -info -noout
head -3 ഹെഡറും പഴയ ഫയലിൽ എൻക്രിപ്ഷൻ തെളിയിക്കുന്ന Proc-Type, DEK-Info വരികളും കാണിക്കുന്നു; ഒരു വരി മാത്രം ഏത് ദിശയിലും തെളിവല്ല. pkey വരി പാസ്ഫ്രേസ് ചോദിച്ച് പൊതു പകുതി മാത്രം അച്ചടിക്കുന്നു, ഇത് ഫയലും പാസ്ഫ്രേസും പ്രവർത്തിക്കുന്നുവെന്ന് സ്വകാര്യ കീ വെളിപ്പെടുത്താതെ തെളിയിക്കുന്നു. ആ പരിശോധനയ്ക്ക് -text ഉപയോഗിക്കരുത്: അത് സ്വകാര്യ ഘടകങ്ങളായ privateExponent, prime1, prime2 തുടങ്ങിയവ അച്ചടിക്കുന്നു, ആ ഔട്ട്പുട്ട് ഒരിക്കലും എവിടെയും പതിക്കരുത്, ടിക്കറ്റിലും ചാറ്റിലും ലോഗിലും അല്ല. PKCS#12 കമാൻഡ് ബണ്ടിലിന് വേറെ MAC അല്ലെങ്കിൽ എൻക്രിപ്ഷൻ പാസ്വേഡ് ഉണ്ടോ എന്നും പറയുന്നു, സഹപ്രവർത്തകന് നൽകുന്നതിന് മുമ്പ് അത് അറിയുന്നത് നല്ലതാണ്.
കീ ലോഡ് ചെയ്തതിന് ശേഷം അത് എന്ത് സംരക്ഷിക്കുന്നത് നിർത്തുന്നു
അൺലോക്ക് ചെയ്യുന്നത് ആ പ്രക്രിയയ്ക്ക് ഒരു ദിശയിലുള്ള സംഭവമാണ്. ക്ലയന്റ് KDF-നോട് കീ ആവശ്യപ്പെടുന്നു, ഫയൽ ഡീക്രിപ്റ്റ് ചെയ്യുന്നു, ആവശ്യമുള്ളിടത്തോളം സ്വകാര്യ കീ മെമ്മറിയിൽ സൂക്ഷിക്കുന്നു. ആ നിമിഷം മുതൽ പാസ്ഫ്രേസ് പ്രവർത്തിക്കുന്ന സെഷനെക്കുറിച്ച് ഒന്നും സംരക്ഷിക്കുന്നില്ല: പ്രക്രിയ മെമ്മറിയല്ല, കോർ ഡംപ് അല്ല, ക്ലയന്റിലേക്ക് ബന്ധിപ്പിച്ച ഡീബഗ്ഗിംഗ് സെഷനല്ല, കീ ഉപയോഗത്തിലിരിക്കെ എടുത്ത മെഷീൻ ബാക്കപ്പും അല്ല.
പാസ്ഫ്രേസുള്ള SSH കീ അല്ലെങ്കിൽ പാസ്വേഡ് മാനേജറുടെ അൺലോക്ക് ചെയ്ത നിലവറയുടെ അതേ അതിർത്തിയാണിത്. വിശ്രമത്തിലുള്ള ഫയൽ മോഷ്ടിക്കാനുള്ള ചെലവ് ഇത് ഉയർത്തുന്നു, നിങ്ങളുടെ ഉപയോക്താവായി പ്രവർത്തിക്കുന്ന മാൽവെയർ, ക്ലയന്റിനോട് ഒപ്പിടാൻ ആവശ്യപ്പെടുന്ന അധികാരമുള്ള ആപ്ലിക്കേഷൻ, അല്ലെങ്കിൽ മെമ്മറി വായിക്കാൻ കഴിയുന്ന അഡ്മിനിസ്ട്രേറ്റർ എന്നിവർക്കെതിരെ ഒന്നും ചെയ്യുന്നുമില്ല. കീ സുരക്ഷിതമായി വലിച്ചെറിയാൻ അനുവദിക്കുന്ന നിയന്ത്രണമായി അല്ല, ഒരു പാളിയായി കാണുക.
പ്രോംപ്റ്റ് വീണ്ടും വീണ്ടും വരുന്നത് എന്തുകൊണ്ട്
ഓരോ വീണ്ടും കണക്ഷനിലും വീണ്ടും ചോദിക്കുന്ന ക്ലയന്റ് തീർച്ചയായും കേടായതല്ല. ചില ക്ലയന്റുകൾ സെഷനായി പാസ്ഫ്രേസ് കാഷ് ചെയ്യുന്നു, ചിലത് അത് OS കീചെയിനിൽ സൂക്ഷിക്കുന്നു, ചിലതിനെ അത് നൽകുന്ന സഹായിയിലേക്ക് ചൂണ്ടാം, അതിനാൽ ലഭിക്കുന്ന പെരുമാറ്റം ക്ലയന്റിനെയും അതിന്റെ കോൺഫിഗറേഷനെയും ആശ്രയിച്ചിരിക്കുന്നു, കീ ഫയലിനെയല്ല.
ആവർത്തിച്ചുള്ള പ്രോംപ്റ്റ് യഥാർത്ഥ പരാതിയാണെങ്കിൽ, കീയിൽ നിന്ന് എൻക്രിപ്ഷൻ നീക്കം ചെയ്യുന്നതിന് മുമ്പ് ക്ലയന്റിന്റെ കാഷിംഗ്, പ്രാമാണീകരണ ഓപ്ഷനുകൾ പരിശോധിക്കുക. പാസ്ഫ്രേസ് നീക്കം ചെയ്യുന്നത് സംരക്ഷിത ഫയലിനെ സാധാരണ ടെക്സ്റ്റ് കീയാക്കി മാറ്റുന്നു, വീണ്ടും കണക്ഷൻ ശാന്തമാകുന്നു, നിങ്ങൾക്കുണ്ടായിരുന്ന ഏക വിശ്രമ നിയന്ത്രണത്തിന്റെ വിലയ്ക്ക്. മികച്ച ഉത്തരം സാധാരണയായി പിന്തുണയുള്ള ക്രെഡൻഷ്യൽ സ്റ്റോർ, അതേ ഫയൽ അനുമതികളോടെ നിങ്ങൾ എപ്പോഴും ഉപയോഗിക്കുമായിരുന്നത്.
നഷ്ടവും വെളിപ്പെടുത്തലും ഒരേ അറ്റകുറ്റപ്പണിയല്ല
നഷ്ടപ്പെട്ട പാസ്ഫ്രേസ് സർട്ടിഫിക്കറ്റിൽ നിന്ന് വീണ്ടെടുക്കാൻ കഴിയില്ല. സർട്ടിഫിക്കറ്റ് ഒരു പേരിനെ കീയുമായി ബന്ധിപ്പിക്കുന്ന പൊതു മെറ്റീരിയലാണ്; അതിൽ സ്വകാര്യ കീയിലേക്ക് തിരികെയുള്ള വഴിയോ പാസ്ഫ്രേസിനെക്കുറിച്ചുള്ള സൂചനയോ ഇല്ല. പ്രായോഗിക ഓപ്ഷനുകൾ കീയുടെ അധികാരമുള്ള ബാക്കപ്പ്, അല്ലെങ്കിൽ ഓപ്പറേറ്ററുടെ സാധാരണ പ്രക്രിയയിലൂടെ നൽകുന്ന പുതിയ ഐഡന്റിറ്റി എന്നിവയാണ്. പാസ്ഫ്രേസ് 'വീണ്ടെടുക്കാൻ' വാഗ്ദാനം ചെയ്യുന്ന ആരും അത് ഊഹിക്കാൻ വാഗ്ദാനം ചെയ്യുന്നു.
വെളിപ്പെടുത്തലിന് വ്യത്യസ്ത പ്രതികരണം വേണം. അതേ കീ പുതിയ പാസ്ഫ്രേസ് ഉപയോഗിച്ച് വീണ്ടും എൻക്രിപ്റ്റ് ചെയ്യുന്നത് കീ മെറ്റീരിയൽ മാറ്റമില്ലാതെ വിടുന്നു, അതിനാൽ മറ്റെവിടെയോ ഇതിനകം അൺലോക്ക് ചെയ്ത പകർപ്പ് ഇപ്പോഴും പ്രവർത്തിക്കുന്നു. അറ്റകുറ്റപ്പണി ക്രെഡൻഷ്യൽ റദ്ദാക്കുകയോ മാറ്റിസ്ഥാപിക്കുകയോ ചെയ്യുന്നതാണ്: പുതിയ കീയും സർട്ടിഫിക്കറ്റും നൽകി വിതരണം ചെയ്ത്, പഴയത് പിയറിൽ വിരമിക്കുക. അത് സംഭവിക്കുന്നതുവരെ, ഫയൽ പാസ്വേഡ് മാറ്റുന്നത് വീട്ടുജോലിയാണ്, നിയന്ത്രണമല്ല. പുതിയ ഐഡന്റിറ്റി പ്രവർത്തിക്കുന്നുവെന്ന് സ്ഥിരീകരിച്ചതിന് ശേഷം മാത്രം പഴയ ഫയൽ ബാക്കപ്പുകളിൽ നിന്ന് പുറത്തുവയ്ക്കുക, ഏത് സീരിയൽ നമ്പറോ വിരലടയാളമോ അതിനെ മാറ്റി എന്ന് രേഖപ്പെടുത്തുക.