ഉപകരണത്തിന്റെ ക്ലോക്ക് വ്യതിചലിക്കുമ്പോൾ TOTP കോഡുകൾ എന്തുകൊണ്ട് പരാജയപ്പെടുന്നു
കോഡ് രഹസ്യത്തിന്റെയും നിലവിലെ സമയ-ഘട്ടത്തിന്റെയും ഹാഷ് ആണ്. ഇരു അറ്റങ്ങളിലെ ഓഫ്സെറ്റുകൾ താരതമ്യം ചെയ്ത ശേഷം വിൻഡോ വിശാലമാക്കുന്നതിനു പകരം ക്ലോക്ക് ശരിയാക്കുക.
ഒരു തവണ ഉപയോഗിക്കുന്ന കോഡുകൾ നിങ്ങളുടെ ഫോണിൽ പൂർണ്ണമായി ശരിയായിരിക്കാം, എന്നാൽ അതേ സെക്കൻഡിൽ സർവർ അവ നിരസിച്ചേക്കാം. ഇരു വശങ്ങളും പങ്കിട്ട രഹസ്യത്തിൽ നിന്നും നിലവിലെ സമയ-ഘട്ടത്തിൽ നിന്നും ഒരേ ഫംഗ്ഷൻ കണക്കാക്കുന്നു, അതിനാൽ സമയത്തെക്കുറിച്ചുള്ള അഭിപ്രായവ്യത്യാസം കോഡിനെക്കുറിച്ചുള്ള അഭിപ്രായവ്യത്യാസത്തിലേക്ക് നയിക്കുന്നു. അത് ക്ലോക്കിന്റെ വ്യതിചലനത്തെ വെറും ശല്യമല്ലാതെ സുരക്ഷയുമായി ബന്ധപ്പെട്ട തകരാറാക്കുന്നു.
ഇവിടെ രണ്ട് ക്ലോക്കുകൾ പ്രധാനമാണ്, കാണാവുന്നത് ശരിയാക്കുന്നതാണ് ആളുകൾ ആദ്യം ചെയ്യുന്ന ഭാഗം. സാധാരണയായി ശ്രദ്ധ ആവശ്യമുള്ള ക്ലോക്ക് മറ്റേതാണ്.
കോഡ് സമയത്തിന്റെ ഫംഗ്ഷനാണ്, പാസ്വേഡ് അല്ല
TOTP പങ്കിട്ട രഹസ്യവും നിലവിലെ സമയത്തിൽ നിന്ന് ഉരുത്തിരിഞ്ഞ കൗണ്ടറും എടുത്ത്, രണ്ടും കീയുള്ള ഹാഷിലൂടെ കടത്തി ഫലം ചെറിയ ദശാംശ പദസഞ്ചയമാക്കി വെട്ടിച്ചുരുക്കുന്നു, ഇത് RFC 6238 ൽ വ്യക്തമാക്കിയിരിക്കുന്നു. കൗണ്ടർ ഓരോ സമയ-ഘട്ടത്തിലും മുന്നോട്ട് പോകുന്നു, സാധാരണയായി മുപ്പത് സെക്കൻഡ്, അതിനാൽ ഘട്ടം മാറുമ്പോൾ അതേ രഹസ്യം പുതിയ മൂല്യം ഉണ്ടാക്കുന്നു. പരിശോധകൻ നിലവിലെ ഘട്ടത്തിന്റെ പ്രതീക്ഷിത മൂല്യം വീണ്ടും കണക്കാക്കി താരതമ്യം ചെയ്യുന്നു, ഇതിന് അതേ രഹസ്യവും ഇപ്പോൾ എന്നതിനെക്കുറിച്ചുള്ള അതേ ധാരണയും ആവശ്യമാണ്. പാസ്വേഡ് മാറ്റുന്നതുവരെ വീണ്ടും ഉപയോഗിക്കാം, എന്നാൽ ഈ മൂല്യം ക്ലയന്റ് കാണാത്ത ഒരു അതിർത്തിയിൽ കാലഹരണപ്പെടുന്നു.
അതുകൊണ്ടാണ് ഒരു കോഡ് പ്രവർത്തിക്കുന്നതും അടുത്തത് കുറച്ച് നിമിഷങ്ങൾക്കുള്ളിൽ പരാജയപ്പെടുന്നതും. ചാറ്റ് സന്ദേശത്തിൽ നിന്ന് കോഡ് പകർത്തുന്നത് എന്തുകൊണ്ട് അത്ര വിശ്വാസയോഗ്യമല്ലാത്ത ശീലമാണെന്നും ഇത് വിശദീകരിക്കുന്നു.
രണ്ട് ക്ലോക്കുകൾ യോജിക്കണം, ഒന്നല്ല
രജിസ്ട്രേഷൻ വസ്തുവാണ് ആദ്യത്തെ പങ്കിട്ട കാര്യം, സമയമാണ് രണ്ടാമത്തേത്. രഹസ്യം ശരിയായിരിക്കുമ്പോൾ ക്ലോക്കുകൾ അനുവദനീയമായ വിൻഡോയേക്കാൾ കൂടുതൽ വ്യത്യാസപ്പെട്ടാൽ, സൃഷ്ടിക്കുന്ന ഓരോ മൂല്യവും തെറ്റായ ഘട്ടത്തിൽ വീണ് നിരസിക്കപ്പെടും. ക്ലോക്കുകൾ യോജിക്കുമ്പോൾ രഹസ്യം തെറ്റാണെങ്കിൽ, ഓരോ മൂല്യവും നിരസിക്കപ്പെടും, കൂടാതെ രണ്ട് പരാജയങ്ങളും ലോഗിൻ സ്ക്രീനിൽ നിന്ന് ഒരേപോലെ കാണപ്പെടുന്നു. അവയെ വേർതിരിക്കാൻ അക്കൗണ്ട് എൻട്രിയും സമയവും വെവ്വേറെ, അതേ ക്രമത്തിൽ പരിശോധിക്കണം.
പരിശോധകന്റെ ക്ലോക്കും ഉപകരണത്തിന്റെ ക്ലോക്കിനൊപ്പം അത്രതന്നെ പരിശോധന അർഹിക്കുന്നു. സമയ സ്രോതസ്സ് കേടായ സർവർ എല്ലാ ഉപയോക്താക്കളുടെയും ശരിയായ കോഡുകൾ ഒരുമിച്ച് നിരസിക്കുന്നു, റിപ്പോർട്ടുകൾ വ്യതിചലനത്തിനു പകരം പെട്ടെന്നുള്ള തകരാർ വിവരിക്കും. ഈ മാതൃക തിരിച്ചറിയേണ്ടതാണ്, കാരണം അതിന്റെ പരിഹാരം സർവറിലാണ്, നൂറ് ഫോണുകളിലല്ല.
വിൻഡോ വിശാലമാക്കുന്നതിന്റെ വില
ചെറിയ വ്യത്യാസങ്ങൾ ആഗിരണം ചെയ്യാൻ നടപ്പാക്കലുകൾ അടുത്ത ഘട്ടത്തിലെ കോഡ് സ്വീകരിച്ചേക്കാം, ആ സഹിഷ്ണുത മിനുക്കുപണിയല്ല, രൂപകൽപ്പനാ തീരുമാനമാണ്. ഓരോ അധിക ഘട്ടവും ഏതെങ്കിലും നിമിഷത്തിൽ സാധുവായ മൂല്യങ്ങളുടെ എണ്ണം ഗുണിക്കുന്നു, അതാണ് ഊഹിക്കുന്ന ആക്രമണകാരി ഇഷ്ടപ്പെടുന്നത്. വീണ്ടും ഉപയോഗ നിയമവും അതേ കാരണത്താൽ പ്രധാനമാണ്, കാരണം രണ്ടുതവണ സ്വീകരിച്ച കോഡ് ഉപയോഗപ്രദമായി ചോർന്ന കോഡാണ്. പരാതികൾ നിശ്ശബ്ദമാക്കാൻ വിൻഡോ വിശാലമാക്കുന്ന അഡ്മിനിസ്ട്രേറ്റർ യഥാർത്ഥ സവിശേഷതയെ മേലാപ്പ് മെച്ചപ്പെടുത്തലിന് കൈമാറുന്നു.
ക്ലോക്ക് ശരിയാക്കുന്നതാണ് അറ്റകുറ്റപ്പണി, വിൻഡോ വിശാലമാക്കുന്നത് ശാന്തമാക്കുന്ന ഔഷധമാണ്. ആദ്യത്തേത് കാരണം നീക്കുന്നു, രണ്ടാമത്തേത് അത് മറയ്ക്കുന്നു.
വീണ്ടും ശ്രമിക്കുന്നതിന് മുൻപ് രണ്ട് ക്ലോക്കുകളും പരിശോധിക്കുക
ഉപകരണത്തിലും സർവറിലും സമയം വായിച്ച്, കാണിക്കുന്ന പ്രാദേശിക സമയങ്ങൾക്കു പകരം ഓഫ്സെറ്റുകൾ താരതമ്യം ചെയ്യുക. താഴെയുള്ള കമാൻഡുകൾ ലിനക്സ് ഹോസ്റ്റിലോ സർവറിലോ സമന്വയ നിലയും അസംസ്കൃത UTC നിമിഷവും കാണിക്കുന്നു. ഏതെങ്കിലും പ്രാമാണീകരണ ക്രമീകരണം മാറ്റുന്നതിന് മുൻപ് അവ ഇരു അറ്റങ്ങളിലും പ്രവർത്തിപ്പിക്കുക.
timedatectl
date -u +'%Y-%m-%dT%H:%M:%SZ'
chronyc tracking
timedatectl timesync-status
സെക്കൻഡുകളിൽ അളന്ന ഓഫ്സെറ്റ് നിരുപദ്രവമാണ്, മിനിറ്റുകളിൽ അളന്നത് നിരസിക്കലിനെ വിശദീകരിക്കുന്നു, ഒരു സമന്വയ സ്രോതസ്സും റിപ്പോർട്ട് ചെയ്യാത്ത സിസ്റ്റം രണ്ടിനും സ്ഥാനാർത്ഥിയാണ്. രണ്ട് UTC ടൈംസ്റ്റാമ്പുകൾ നേരിട്ട് താരതമ്യം ചെയ്യുക, കാരണം പ്രാദേശിക സമയത്തിൽ അൽഗോരിതം ഒരിക്കലും കാണാത്ത ഒരു സമയ മേഖല അടങ്ങിയിരിക്കുന്നു. ഓഫ്സെറ്റുകൾ ചെറുതും കോഡുകൾ ഇപ്പോഴും പരാജയപ്പെടുന്നതുമാണെങ്കിൽ, ക്ലോക്കുകൾ ക്രമീകരിക്കുന്നത് നിർത്തി പകരം രജിസ്ട്രേഷൻ എൻട്രി പരിശോധിക്കുക. ലോക്ക് ചെയ്ത അക്കൗണ്ടിനെതിരായ ആവർത്തിച്ചുള്ള ശ്രമങ്ങൾ യഥാർത്ഥ തകരാർ നിരീക്ഷിക്കാൻ ബുദ്ധിമുട്ടാക്കുന്നു.
നിരസിക്കൽ സമയം, ഓഫ്സെറ്റ്, പിശക് വാചകം എന്നിവ രേഖപ്പെടുത്തുക, പങ്കിട്ട രഹസ്യം അതിൽ നിന്ന് ഒഴിവാക്കുക. പിന്തുണയ്ക്ക് ആദ്യത്തെ മൂന്നെണ്ണം ഉപയോഗിക്കാം, നാലാമത്തേത് ഒരിക്കലും കാണരുത്.