CA ഇല്ലാതെ OpenVPN: peer-fingerprint സഹകാരികളെ എങ്ങനെ പരിശോധിക്കുന്നു
വിരലടയാളം ഒരു സർട്ടിഫിക്കറ്റ് പിൻ ചെയ്യുന്നു, പങ്കിട്ട രഹസ്യമല്ല. ഡൈജസ്റ്റ് എന്തുൾക്കൊള്ളുന്നു, ഓരോ വശവും അനുവദനീയ പട്ടിക എങ്ങനെ നിർമ്മിക്കുന്നു, പുതുക്കലിന് എന്തു ചെലവാകുന്നു എന്നു നോക്കുക.
ചെറിയ വിന്യാസം വിരലടയാളങ്ങളിലേക്ക് തിരിയുന്നത്, സർട്ടിഫിക്കറ്റ് അതോറിറ്റി ആർക്കും നടത്താൻ സമയമില്ലാത്ത അടിസ്ഥാനസൗകര്യമായി തോന്നുന്നതുകൊണ്ടാണ്. സഹജവാസന ന്യായയുക്തമാണ്, പക്ഷേ ആളുകൾ പകരം എടുക്കുന്ന എളുപ്പവഴി—ഒരു ഡാറ്റാ ചാനലിന്റെ രഹസ്യം ഇരു അറ്റങ്ങളിലേക്കും പകർത്തുന്നത്—അങ്ങനെയല്ല. peer-fingerprint ക്രമീകരണം TLS ഘടന അതേപടി നിലനിർത്തുന്നു: ഓരോ വശവും ഇപ്പോഴും സ്വന്തം സ്വകാര്യ കീയും സർട്ടിഫിക്കറ്റും കൈവശം വയ്ക്കുന്നു, ഓരോ വശവും ഇപ്പോഴും മറ്റേതിനെ പരിശോധിക്കുന്നു. മാറുന്നത് പരിശോധന എവിടെ ഉറപ്പിച്ചിരിക്കുന്നു എന്നതാണ്: വിശ്വസനീയമായ ഇഷ്യൂവറിൽ നിന്ന് പിൻ ചെയ്ത ഡൈജസ്റ്റുകളുടെ ചെറിയ പട്ടികയിലേക്ക്. ഡൈജസ്റ്റ് പേരല്ല, മുഴുവൻ സർട്ടിഫിക്കറ്റ് ഉൾക്കൊള്ളുന്നതിനാൽ, പുതുക്കൽ യഥാർത്ഥത്തിൽ സമയമെടുക്കുന്ന പ്രവർത്തനമായി മാറുന്നു.
വിരലടയാളം യഥാർത്ഥത്തിൽ എന്തിന് പ്രതിജ്ഞാബദ്ധമാകുന്നു
സർട്ടിഫിക്കറ്റിന്റെ വിരലടയാളം DER-ൽ എൻകോഡ് ചെയ്ത മുഴുവൻ സർട്ടിഫിക്കറ്റിന്റെയും ഡൈജസ്റ്റാണ്, അതിന്റെ പൊതു കീയുടേതല്ല, അതിന്റെ സബ്ജക്റ്റ് പേരിന്റേതുമല്ല. അതിനാൽ ഒരേ പേരുകളും ഒരേ കീയും ഉണ്ടെങ്കിലും വ്യത്യസ്ത സാധുതാ തീയതികളുള്ള രണ്ട് സർട്ടിഫിക്കറ്റുകൾക്ക് വ്യത്യസ്ത വിരലടയാളങ്ങളുണ്ട്. അതാണ് പിന്നിംഗിനെ കൃത്യമാക്കുന്നത്, അതുതന്നെ പുതുക്കലിനെ ശല്യകരമാക്കുന്നു. പിന്നിംഗിന് പൊതുവായി ഒരു കീയിൽ വിശ്വാസം എന്നർത്ഥമാകാനാവില്ല, കാരണം അത് ഒരു കലാസൃഷ്ടിയെ അതിന്റെ ജീവിതത്തിന്റെ ഒരു നിമിഷത്തിൽ പേരെടുത്ത് പറയുന്നു. ആർക്കും ഡൈജസ്റ്റ് അറിയാം, അത് അറിയുന്നത് സ്വയം ഒന്നും തെളിയിക്കുന്നില്ല.
openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256
അനുയോജ്യമായ സ്വകാര്യ കീ കൈവശമുണ്ടെന്നതാണ് സഹകാരിയ്ക്ക് ആ സർട്ടിഫിക്കറ്റുണ്ടെന്ന് തെളിയിക്കുന്നത്, ഡൈജസ്റ്റ് എന്നത് ആ സർട്ടിഫിക്കറ്റ് യഥാർത്ഥത്തിൽ പ്രതീക്ഷിച്ചിരുന്നോ എന്ന് മറുവശം തീരുമാനിക്കുന്ന വഴിയാണ്. ഈ വേർതിരിവാണ് ഈ രൂപകൽപ്പന പഴയ പങ്കിട്ട-രഹസ്യ ക്രമമല്ലാതിരിക്കാനുള്ള കാരണം: പങ്കിട്ട കീ അതേ ബൈറ്റുകൾ അറിയുന്ന ആരെയും പ്രാമാണീകരിക്കുന്നു, പിന്നിംഗ് ഒരു സർട്ടിഫിക്കറ്റിനെ പ്രാമാണീകരിക്കുന്നു. വേറെ ഉപകരണത്തിന് അതേ രഹസ്യത്തിന്റെ പകർപ്പല്ല, സ്വന്തം എൻട്രി ലഭിക്കുന്നു, ഇത് ഫയലുകളിൽ ചെറിയ വ്യത്യാസവും നാശത്തിന്റെ പരിധിയിൽ വലിയ വ്യത്യാസവുമാണ്.
ഭൂപടം പരസ്പരമാണ്, സമമിതമല്ല
ഓരോ അന്തിമ ബിന്ദുവിനും രണ്ട് കാര്യങ്ങൾ വേണം: സ്വന്തം സ്വകാര്യ കീയും സർട്ടിഫിക്കറ്റും, ഏത് സഹകാരി സർട്ടിഫിക്കറ്റുകൾ സ്വീകരിക്കുമെന്ന പ്രസ്താവനയും. ക്ലയന്റിൽ ആ പ്രസ്താവന സർവറിന്റെ സർട്ടിഫിക്കറ്റിന്റെ ഡൈജസ്റ്റാണ്; സർവറിൽ അത് രജിസ്റ്റർ ചെയ്ത ക്ലയന്റ് ഡൈജസ്റ്റുകളുടെ പട്ടികയാണ്. Community 2.6-നായി ചെറിയ ക്രമീകരണത്തിന്റെ ഔദ്യോഗിക ഉദാഹരണം peer-fingerprint-മായി ക്രമീകരണം കാണിക്കുന്നു, യഥാർത്ഥ വിന്യാസത്തിന് ഈ വിശ്വാസ മാതൃക തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ് അത് വായിക്കുന്നത് യോഗ്യമാണ്. രണ്ട് ദിശകളും ഒരു തിരിച്ച പട്ടികയല്ല, അവ ഒരേ നിമിഷത്തിൽ പരാജയപ്പെടുന്നുമില്ല.
| Verification direction | What is pinned | What never leaves that endpoint | How a wrong pin shows up |
|---|---|---|---|
| Client checks the server | One digest, for the server certificate | The server private key | The client aborts during the TLS handshake |
| Server checks the client | A digest per enrolled client | Each client private key | The server rejects the peer before a tunnel exists |
ഉപകരണം ചേർക്കുന്നത് സർവറിലെ അനുവദനീയ പട്ടിക തിരുത്തുന്നു, നിലവിലുള്ള ക്ലയന്റിന്റെ സ്വകാര്യ വസ്തു പകർത്താതെ, സർവർ കീ എങ്ങോട്ടും നീക്കാതെ. രണ്ട് ദിശകളും സ്വതന്ത്രമായി പരാജയപ്പെടുന്നു, ഇത് രോഗനിർണയത്തിൽ ഉപയോഗപ്രദമാണ്: ഏത് വശം ഹാൻഡ്ഷേക്ക് അടയ്ക്കുന്നുവോ, അതാണ് പ്രതീക്ഷ നിറവേറ്റപ്പെടാത്ത വശം. ക്ലയന്റ് സർവറിനെ നിരസിച്ചാൽ, ഡൈജസ്റ്റ് അവതരിപ്പിച്ച സർട്ടിഫിക്കറ്റുമായി ഒത്തുപോകുന്നില്ല. സർവർ ക്ലയന്റിനെ നിരസിച്ചാൽ, ആ ക്ലയന്റിന്റെ ഡൈജസ്റ്റ് പട്ടികയിലില്ല, അല്ലെങ്കിൽ ക്ലയന്റ് രജിസ്റ്റർ ചെയ്തതിൽ നിന്ന് വ്യത്യസ്ത സർട്ടിഫിക്കറ്റ് അവതരിപ്പിക്കുന്നു.
രജിസ്ട്രേഷൻ: പുതിയ ഉപകരണം എങ്ങനെ ചേരുന്നു
പുതിയ ഉപകരണത്തിന്റെ കീയും സർട്ടിഫിക്കറ്റും സ്വകാര്യ കീ ഉണ്ടാകുന്നിടത്ത് തന്നെ ഉണ്ടാക്കി, പിന്നീട് പൊതു വസ്തു മാത്രം അത് പിൻ ചെയ്യേണ്ട വശത്തേക്ക് നീക്കുക. പ്രതീക്ഷിത ഡൈജസ്റ്റ് നിങ്ങൾ ഇതിനകം വിശ്വസിക്കുന്ന ചാനൽ വഴി കൈമാറുക, പരിചിതമായി തോന്നുന്ന പേരിന് പകരം മുഴുവൻ സർട്ടിഫിക്കറ്റും താരതമ്യം ചെയ്യുക. സർട്ടിഫിക്കറ്റുമായി അതേ പരിശോധിക്കാത്ത ഡൗൺലോഡിൽ നിന്ന് പകർത്തിയ ഡൈജസ്റ്റ് രണ്ട് ഫയലുകൾ പരസ്പരം യോജിക്കുന്നു എന്ന് മാത്രം തെളിയിക്കുന്നു. ഇത് സ്ഥിരതയുടെ പരിശോധനയാണ്, ഐഡന്റിറ്റിയുടേതല്ല, ഈ രൂപകൽപ്പന ദുർബലമാകുന്ന ഏറ്റവും നിശ്ശബ്ദമായ വഴിയാണിത്.
സർവറിൽ, ഡൈജസ്റ്റ് ചേർക്കുന്നത് സാധാരണ മാനേജർ വഴി പോകുന്ന കോൺഫിഗറേഷൻ മാറ്റമാണ്, അതിന് ശേഷം വീണ്ടും കണക്റ്റ് ചെയ്യുന്നു. പുതിയ ഉപകരണം കണക്റ്റ് ചെയ്യുന്നുവെന്നും ഡൈജസ്റ്റ് നീക്കിയ ഉപകരണം ഇനി കണക്റ്റ് ചെയ്യുന്നില്ലെന്നും ഉറപ്പാക്കുക. പോസിറ്റീവ് കേസ് മാത്രം ഉൾക്കൊള്ളുന്ന പരിശോധന അനുവദനീയ പട്ടിക പരിശോധിക്കപ്പെടാതെ വിടുന്നു, ആറ് മാസത്തിന് ശേഷം നിങ്ങൾ ഇരിക്കുന്നത് കൃത്യമായി ആ അവസ്ഥയിലാണ്.
പുതുക്കലാണ് ചെലവേറിയ നിമിഷം
എല്ലാ സർട്ടിഫിക്കറ്റും കാലഹരണപ്പെടുന്നു, കീയും പേരുകളും അതേപടി നിന്നാലും പുതിയ സർട്ടിഫിക്കറ്റിന് പുതിയ ഡൈജസ്റ്റുണ്ട്. ഒരു ഇഷ്യൂവറിന് കീഴിൽ പുതുക്കൽ ആ ഇഷ്യൂവറിനെ വിശ്വസിക്കുന്ന സഹകാരികൾക്ക് സുതാര്യമാണ്; പിന്നിംഗിന് കീഴിൽ അത് സർട്ടിഫിക്കറ്റ് പിൻ ചെയ്യുന്ന ഓരോ സഹകാരിക്കും രജിസ്ട്രേഷൻ സംഭവമാണ്.
കാലഹരണ തീയതിക്ക് ശേഷമല്ല, അതിന് മുമ്പ് ക്രമം ആസൂത്രണം ചെയ്യുക. പുതിയ ഡൈജസ്റ്റ് അത് പരിശോധിക്കുന്ന കക്ഷികൾക്ക് വിതരണം ചെയ്യുക, മാറ്റം പ്രയോഗിക്കുക, അതിന് ശേഷം മാത്രം അന്തിമ ബിന്ദുവിൽ സർട്ടിഫിക്കറ്റ് മാറ്റുക. ഏത് സർട്ടിഫിക്കറ്റ് നിലവിലുള്ളതെന്ന കാര്യത്തിൽ രണ്ട് വശവും യോജിക്കാത്ത ഒരു ജാലകവും ആ ക്രമം അവശേഷിപ്പിക്കുന്നില്ല. പട്ടിക തന്നെയും പരിശോധനയിൽ നിർത്തുക, കാരണം പിൻ ചെയ്ത പട്ടിക മാസങ്ങൾക്ക് മുമ്പ് ഒഴിവാക്കിയ ഉപകരണങ്ങളുടെ എൻട്രികൾ കൂട്ടുന്നു. പഴയ ഓരോ എൻട്രിയും അതിന്റെ കീ അതിജീവിച്ചാൽ ഇപ്പോഴും പ്രാമാണീകരിക്കപ്പെടുന്ന ഐഡന്റിറ്റിയാണ്, അതിനാൽ ഒന്ന് നീക്കുന്നത് വൃത്തിയാക്കലല്ല, സുരക്ഷാ നടപടിയാണ്.
വിശ്വാസ ഭൂപടം തീരുമാനിക്കാത്തത്
പ്രാമാണീകരണം ഒരു പാളിയാണ്, പിൻ ചെയ്ത ഭൂപടം വിലാസ പൂളിനെയോ തള്ളുന്ന റൂട്ടുകളെയോ പാതയുടെ MTU-വിനെയോ ഫയർവാൾ നയത്തെയോ കുറിച്ച് ഒന്നും പറയുന്നില്ല. അവ വേറിട്ട കോൺഫിഗറേഷനും വേറിട്ട പരാജയ രീതികളുമായി തുടരുന്നു. പ്രാമാണീകരിക്കപ്പെടുന്നുവെങ്കിലും ഒരു ട്രാഫിക്കും കടത്തിവിടാത്ത ടണൽ ഒരിക്കലും ഉയരാത്ത ടണലിൽ നിന്ന് വ്യത്യസ്ത അന്വേഷണമാണ്.
ഭൂപടവും അനന്തമായി സ്കെയിൽ ചെയ്യുന്നില്ല, വലിയ വിന്യാസങ്ങൾ ഇഷ്യൂവർ അധിഷ്ഠിത PKI-യിൽ എത്തിച്ചേരുന്നു. ആ മുൻഗണന ക്രിപ്റ്റോഗ്രഫിയെക്കാളും പ്രവർത്തനത്തെക്കുറിച്ചാണ്, കാരണം കപ്പൽ വളരുമ്പോൾ ഓരോ സഹകാരിയിലും പട്ടിക തിരുത്തുന്നതിനേക്കാൾ ഒരു അധികാരിയിലൂടെ ഐഡന്റിറ്റികൾ ചേർക്കുന്നതും ഒഴിവാക്കുന്നതും വിലകുറഞ്ഞതാണ്. ക്ലയന്റ് നിർവ്വഹണം ഈ ഓപ്ഷൻ പിന്തുണയ്ക്കാത്തിടത്ത്, ഉത്തരം ആ ക്ലയന്റ് രേഖപ്പെടുത്തുന്ന അനുയോജ്യ വിശ്വാസ മാതൃകയാണ്, അല്ലെങ്കിൽ പിന്തുണയുള്ള പകരം. പരിശോധനാ മുന്നറിയിപ്പ് അടക്കുന്നത് ആ പിന്തുണ ചേർക്കുന്നില്ല, രൂപകൽപ്പനയുടെ മുഴുവൻ മൂല്യവും പരിശോധന ഇപ്പോഴും നടക്കുന്നു എന്നതാണ്.