એક-વખતના કોડ તમારા ફોન પર સંપૂર્ણ સાચા હોઈ શકે છે અને તે જ સેકંડમાં સર્વર તેને નકારી કાઢે છે. બંને પક્ષો એક જ ગુપ્તતા અને વર્તમાન સમય-પગલામાંથી એક જ ફંક્શન ગણે છે, તેથી સમય અંગેનો મતભેદ કોડ અંગેનો મતભેદ લાવે છે. આ ઘડિયાળના ખસેડાને માત્ર તકલીફને બદલે સુરક્ષા સંબંધી ખામી બનાવે છે.

અહીં બે ઘડિયાળ મહત્ત્વની છે, અને દેખાતી ઘડિયાળ સુધારવી એ લોકો પહેલાં કરે તે ભાગ છે. સામાન્ય રીતે ધ્યાન માંગતી ઘડિયાળ બીજી છે.

કોડ સમયનું ફંક્શન છે, પાસવર્ડ નહીં

TOTP સહિયારી ગુપ્તતા અને વર્તમાન સમયમાંથી મેળવેલ કાઉન્ટર લે છે, બંનેને કીવાળા હેશમાંથી પસાર કરે છે અને પરિણામને ટૂંકી દશાંશ શ્રેણીમાં કાપે છે, જેમ કે નિર્દિષ્ટ છે RFC 6238 માં. કાઉન્ટર દરેક સમય-પગલા પર આગળ વધે છે, સામાન્ય રીતે ત્રીસ સેકંડ, તેથી પગલું બદલાય ત્યારે એ જ ગુપ્તતા નવું મૂલ્ય બનાવે છે. ચકાસનાર વર્તમાન પગલા માટે અપેક્ષિત મૂલ્ય ફરી ગણે છે અને સરખાવે છે, જે માટે એ જ ગુપ્તતા અને અત્યાર વિશે એ જ સમજ જરૂરી છે. પાસવર્ડ બદલાય ત્યાં સુધી ફરી વાપરી શકાય છે, જ્યારે આ મૂલ્ય ક્લાયન્ટ ન જોઈ શકે તેવી સીમા પર સમાપ્ત થાય છે.

એટલે જ એક કોડ કામ કરે છે અને આગલો થોડી ક્ષણોમાં નિષ્ફળ જાય છે. આ એ પણ સમજાવે છે કે ચેટ સંદેશમાંથી કોડ કોપી કરવો કેમ એટલી બિનવિશ્વસનીય આદત છે.

બે ઘડિયાળ મેળ ખાવી જોઈએ, એક નહીં

નોંધણી સામગ્રી એ પ્રથમ સહિયારી વસ્તુ છે, અને સમય બીજી. જો ગુપ્તતા સાચી હોય જ્યારે ઘડિયાળો સહન કરી શકાય તેવી વિન્ડો કરતાં વધુ ભિન્ન હોય, તો દરેક બનાવેલ મૂલ્ય ખોટા પગલામાં પડે છે અને નકારાય છે. જો ઘડિયાળો મેળ ખાતી હોય જ્યારે ગુપ્તતા ખોટી હોય, તો દરેક મૂલ્ય પણ નકારાય છે, અને બંને નિષ્ફળતા લોગિન સ્ક્રીન પરથી સરખી દેખાય છે. તેમને અલગ પાડવાનો અર્થ એ છે કે ખાતાની નોંધ અને સમય સ્વતંત્ર રીતે, એ જ ક્રમમાં તપાસવા.

ચકાસનારની ઘડિયાળ ઉપકરણની ઘડિયાળ જેટલી જ તપાસને પાત્ર છે. જેનો સમય સ્રોત બગડેલો છે તેવું સર્વર એક સાથે દરેક વપરાશકર્તાના સાચા કોડ નકારે છે, અને અહેવાલો ખસેડાને બદલે અચાનક વિક્ષેપનું વર્ણન કરશે. આ પેટર્ન ઓળખવા યોગ્ય છે, કારણ કે તેનો ઉકેલ સર્વર પર છે, સો ફોન પર નહીં.

વિન્ડો પહોળી કરવાની કિંમત

અમલીકરણો નાના તફાવતો શોષવા માટે પડોશી પગલાનો કોડ સ્વીકારી શકે છે, અને એ સહિષ્ણુતા મફત ગોઠવણ નહીં પણ ડિઝાઇન નિર્ણય છે. દરેક વધારાનું પગલું કોઈ પણ ક્ષણે માન્ય મૂલ્યોની સંખ્યાને ગુણે છે, જે બરાબર એ જ છે જે અનુમાન કરતા હુમલાખોરને ગમે છે. ફરી વાપરવાનો નિયમ પણ એ જ કારણે મહત્ત્વનો છે, કારણ કે બે વાર સ્વીકારાયેલ કોડ એ ઉપયોગી રીતે લીક થયેલો કોડ છે. ફરિયાદો શાંત કરવા વિન્ડો પહોળી કરતો વ્યવસ્થાપક વાસ્તવિક ગુણધર્મને દેખાવની સુધારણા સાથે બદલે છે.

ઘડિયાળ સુધારવી એ સમારકામ છે, જ્યારે વિન્ડો પહોળી કરવી એ શાંતિકારક છે. પહેલું કારણ દૂર કરે છે અને બીજું તેને છુપાવે છે.

ફરી પ્રયાસ કરતા પહેલાં બંને ઘડિયાળ તપાસો

ઉપકરણ અને સર્વર પર સમય વાંચો, અને દર્શાવેલ સ્થાનિક સમયને બદલે ઓફસેટની સરખામણી કરો. નીચેના આદેશો લિનક્સ હોસ્ટ અથવા સર્વર પર સિંક્રોનાઇઝેશન સ્થિતિ અને કાચી UTC ક્ષણ દર્શાવે છે. કોઈ પણ પ્રમાણીકરણ સેટિંગ બદલતા પહેલાં તેમને બંને છેડે ચલાવો.

timedatectl
date -u +'%Y-%m-%dT%H:%M:%SZ'
chronyc tracking
timedatectl timesync-status

સેકંડમાં માપેલ ઓફસેટ નિર્દોષ છે, મિનિટમાં માપેલ ઓફસેટ નકાર સમજાવે છે, અને કોઈ સિંક્રોનાઇઝેશન સ્રોત ન જણાવતું સિસ્ટમ બંને માટે ઉમેદવાર છે. બે UTC ટાઇમસ્ટેમ્પ સીધા સરખાવો, કારણ કે સ્થાનિક સમયમાં એવો ટાઇમ ઝોન સમાયેલો છે જે અલ્ગોરિધમ કદી જોતું નથી. જો ઓફસેટ નાના હોય અને કોડ હજી નિષ્ફળ જાય, તો ઘડિયાળ ગોઠવવાનું બંધ કરો અને તેના બદલે નોંધણી નોંધ તપાસો. લૉક થયેલા ખાતા સામે વારંવાર પ્રયાસ મૂળ ખામી નિરીક્ષણ કરવી મુશ્કેલ બનાવે છે.

નકારનો સમય, ઓફસેટ અને ભૂલનું લખાણ નોંધો, અને સહિયારી ગુપ્તતા તેની બહાર રાખો. સહાય પ્રથમ ત્રણ સાથે કામ કરી શકે છે અને ચોથું કદી જોવું ન જોઈએ.

સંબંધિત લેખો