2FA-Tool Logo
2FA-Tool.com మీ బ్రౌజర్‌లో క్లయింట్-సైడ్ సురక్షిత 2FA కోడ్ జనరేటర్
⏱️ క్రిప్టోగ్రఫీ & RFC ప్రోటోకాల్స్ ✓ 2026 కోసం ధృవీకరించబడింది · IETF ప్రమాణాల విశ్లేషణ

TOTP vs HOTP వివరణ: ప్రధాన తేడాలు, భద్రత & పని సూత్రాలు

లక్షలాది మంది డెవలపర్లు మరియు భద్రతా ఇంజనీర్లు ప్రతిరోజూ మారుతున్న 6-అంకెల ధృవీకరణ కోడ్‌లను చూస్తారు, కానీ స్క్రీన్ వెనుక పనిచేసే చక్కని గణిత యంత్రాంగాన్ని కొద్దిమంది మాత్రమే అర్థం చేసుకుంటారు. 2005 నాటి RFC 4226 (HOTP) ఈవెంట్-ఆధారిత కౌంటర్ల నుండి 2011 నాటి RFC 6238 (TOTP) వివిక్త సమయ దశల (time steps) వరకు, ఈ మార్గదర్శిని బైట్-స్థాయి Dynamic Truncation అల్గారిథమ్, కౌంటర్ డీసింక్ బలహీనతలు, క్లాక్ డ్రిఫ్ట్ టాలరెన్స్‌లు మరియు ఆధునిక వెబ్‌ను TOTP ఎందుకు జయించిందో పరిశీలిస్తుంది.

2FA
2FA-Tool భద్రతా బృందం
అక్టోబర్ 2026న నవీకరించబడింది
అంచనా వేసిన చదివే సమయం: 14 నిమిషాలు (2,600+ పదాలు)
RFC 6238 RFC 4226 Dynamic Truncation
💡 క్రిప్టోగ్రాఫిక్ ముఖ్యాంశాలు (TL;DR)
  • ప్రాథమిక ఇన్‌పుట్ తేడా: HOTP నిరంతరం పెరిగే కౌంటర్ C నుండి హాష్‌లను గణిస్తుంది, అయితే TOTP C ని ఒక ఎపోచ్ సమయ దశ T (CurrentUnixTime / 30) తో భర్తీ చేస్తుంది.
  • ప్రత్యక్ష వారసత్వం: గణితపరంగా TOTP అనేది HOTP యొక్క ప్రత్యేక రూపం: TOTP(K, Time) = HOTP(K, T). రెండు అల్గారిథమ్‌లు ఖచ్చితంగా ఒకే Dynamic Truncation ఫంక్షన్‌ను ఉపయోగిస్తాయి.
  • నిర్ణయాత్మక ఆర్కిటెక్చరల్ అంశం: HOTP స్టేట్‌ఫుల్ (ప్రతి ధృవీకరణ వద్ద సర్వర్లు కౌంటర్లను డిస్క్‌కు లాక్ చేసి భద్రపరచాలి). TOTP స్టేట్‌లెస్, ఇది ఆధునిక క్లౌడ్ మైక్రోసర్వీస్‌లను కేంద్రీకృత డేటాబేస్ రైట్ ఆపరేషన్లు లేకుండా పంపిణీ చేయబడిన లోడ్-బ్యాలెన్స్‌డ్ క్లస్టర్‌లలో టోకెన్‌లను ధృవీకరించడానికి అనుమతిస్తుంది.
01

చారిత్రక మూలాలు: యాజమాన్య హార్డ్‌వేర్ టోకెన్‌ల నుండి ఓపెన్ వెబ్ ప్రమాణాల వరకు

2000ల ప్రారంభంలో, కార్పొరేట్ రెండు-కారకాల ప్రామాణీకరణలో RSA SecurID వంటి యాజమాన్య కీ ఫోబ్‌ల ఆధిపత్యం ఉండేది. ఈ మూసివేయబడిన, ఖరీదైన పరికరాలు యాజమాన్య ఎంటర్‌ప్రైజ్ సర్వర్‌లకు సమకాలీకరించబడిన అంతర్గత క్వార్ట్జ్ స్ఫటికాలను కలిగి ఉండేవి. ఒక సంస్థ వేలాది మంది ఉద్యోగులకు బహుళ-కారకాల భద్రతను అందించాలనుకుంటే, హార్డ్‌వేర్ సేకరణ మరియు యాజమాన్య లైసెన్స్ ఖర్చులు విపరీతంగా ఉండేవి.

యాజమాన్య విక్రేతల నుండి ప్రామాణీకరణను విముక్తి చేయడానికి, ఏ సాఫ్ట్‌వేర్ ఇంజనీర్ అయినా ఉచితంగా పరిశీలించగల, అమలు చేయగల మరియు ఆడిట్ చేయగల ఓపెన్, రాయల్టీ రహిత IETF ప్రమాణాలను అందించడానికి పరిశ్రమ నాయకులు OATH (Initiative for Open Authentication) కన్సార్టియంను ఏర్పాటు చేశారు:

📜 2005: RFC 4226 (HOTP)

HMAC-Based One-Time Password Algorithm. భౌతిక పుష్ బటన్‌లతో తక్కువ-శక్తి మైక్రోకంట్రోలర్‌ల కోసం రూపొందించబడింది. బటన్‌ను నొక్కడం వల్ల అంతర్గత కౌంటర్ పెరుగుతుంది మరియు LCD స్క్రీన్‌పై 6-అంకెల టోకెన్ ముద్రించబడుతుంది.

📜 2011: RFC 6238 (TOTP)

Time-Based One-Time Password Algorithm. స్మార్ట్‌ఫోన్ స్వీకరణ పెరిగేకొద్దీ రూపొందించబడింది. సెల్యులార్ NTP నెట్‌వర్క్ సమయ సమకాలీకరణను ఉపయోగించడం ద్వారా, TOTP భౌతిక బటన్ స్థితి అసమతుల్యతలను పూర్తిగా తొలగించింది.

02

HOTP (RFC 4226) ఆర్కిటెక్చర్ & Dynamic Truncation బైట్ మెకానిక్స్

HOTP యొక్క ప్రధాన గణిత నిర్వచనం స్పష్టంగా మరియు సంక్షిప్తంగా ఉంటుంది:

HOTP(K, C) = Truncate(HMAC-SHA-1(K, C)) mod 10DigitCount

పారామీటర్ వివరణ:

  • K: పంచుకోబడిన సమరూప రహస్య కీ (సాధారణంగా Base32 డీకోడ్ చేయబడిన 160-బిట్ / 20-బైట్ బైనరీ శ్రేణి).
  • C: 8-బైట్ (64-బిట్) బిగ్-ఎండియన్ పూర్ణాంక కౌంటర్.
  • HMAC-SHA-1: 20-బైట్ (160-బిట్) క్రిప్టోగ్రాఫిక్ డైజెస్ట్‌ను ఉత్పత్తి చేసే కీడ్-హాష్ సందేశ ప్రామాణీకరణ కోడ్.

🔍 Dynamic Truncation (DT) 20 బైట్‌లను 6 అంకెలుగా ఎలా మారుస్తుంది:

HMAC-SHA1 డైజెస్ట్ 160 బిట్‌లను (20 బైట్‌లు) కలిగి ఉంటుంది. 6 ఏకరీతి దశాంశ అంకెలను సంగ్రహించడానికి RFC 4226 లోని సెక్షన్ 5.3 లో నిర్వచించబడిన నిర్ణయాత్మక, ఘర్షణ-నిరోధక ఎంపిక విధానం అవసరం:

// దశ 1: డైనమిక్ ఆఫ్‌సెట్‌ను గణించండి
Offset = HS[19] & 0x0F
20-బైట్ డైజెస్ట్ యొక్క చివరి బైట్ (ఇండెక్స్ 19) తీసుకోండి. 0x0F తో మాస్కింగ్ చేయడం వల్ల తక్కువ-ఆర్డర్ 4 బిట్‌లు వేరుచేయబడి, ఖచ్చితంగా 0 మరియు 15 మధ్య పూర్ణాంకం లభిస్తుంది (0x0 నుండి 0xF). ఇది తదుపరి 4-బైట్ సంగ్రహణ ఎన్నడూ 20-బైట్ బఫర్‌ను దాటకుండా చూస్తుంది (ఎందుకంటే 15 + 4 = 19).
// దశ 2: మాస్కింగ్‌తో వరుసగా 4 బైట్‌లను సంగ్రహించండి
P = ( (HS[Offset] & 0x7F) << 24 ) | ( (HS[Offset+1] & 0xFF) << 16 ) | ( (HS[Offset+2] & 0xFF) << 8 ) | ( HS[Offset+3] & 0xFF )
Offset వద్ద ప్రారంభమయ్యే 4 బైట్‌లను సంగ్రహించండి. వేర్వేరు CPU ఆర్కిటెక్చర్‌లలో సైన్డ్ పూర్ణాంక ఓవర్‌ఫ్లోను నివారించడానికి మాస్క్ 0x7F మోస్ట్ సిగ్నిఫికెంట్ బిట్‌ను సున్నా చేస్తుంది (స్పష్టమైన పాజిటివ్ 31-బిట్ పూర్ణాంకాన్ని నిర్ధారిస్తుంది).
// దశ 3: తుది అంకెల కోసం మాడ్యులో అంకగణితం
OTP = P mod 106 = P mod 1000000
మాడ్యులో 1,000,000 ను వర్తింపజేయడం ద్వారా చివరి 6 దశాంశ అంకెలు వేరుచేయబడతాయి, అవసరమైతే ముందు సున్నాలను చేరుస్తుంది (ఉదాహరణకు 748 అనేది "000748" అవుతుంది).
🧪 RFC 4226 అనుబంధం D నుండి ఖచ్చితమైన పరీక్ష వెక్టర్:

రహస్య కీ ASCII "12345678901234567890" మరియు కౌంటర్ C = 0 అనుకుందాం. హెక్సాడెసిమల్‌లో లభించే HMAC-SHA1 డైజెస్ట్:

cc 93 cf 18 50 8d 94 93 4c 64 b6 6d 8b fb 87 fb 23 cb 4b 71

1. చివరి బైట్ 0x71. 0x71 & 0x0F = 0x01, కాబట్టి Offset = 1.
2. 1 నుండి 4 వరకు ఉన్న బైట్‌లు: 93 cf 18 50. MSB ని సున్నా చేస్తే 0x13cf1850 వస్తుంది, ఇది దశాంశంలో 332,339,280 కి సమానం.
3. 332339280 mod 1000000 = 339280. ఫలితంగా వచ్చే 6-అంకెల OTP 339280!

03

TOTP (RFC 6238) పరిణామం: టైమ్-స్టెప్ మ్యాజిక్

HOTP కి క్లయింట్‌లోని కౌంటర్‌ను సర్వర్‌తో సమకాలీకరణలో ఉంచడం అవసరం. సాఫ్ట్‌వేర్ పరికరాలలో, కీస్ట్రోక్‌లు లేదా బటన్ ప్రెస్‌లను లెక్కించడం నిరంతరం మానవ తప్పిదాలకు దారితీస్తుంది.

RFC 6238 కౌంటర్ C ని Unix ఎపోచ్ గడియారం నుండి నేరుగా తీసుకోబడిన వివిక్త సమయ దశ T తో భర్తీ చేసింది:

T = ⌊ (CurrentUnixTime - T0) / X ⌋
  • CurrentUnixTime: 1970-01-01 00:00:00 UTC నుండి గడిచిన సెకన్లు.
  • T0: ఎపోచ్ ప్రారంభ సూచన (అన్ని ఆధునిక డిప్లాయ్‌మెంట్లలో డిఫాల్ట్‌గా 0).
  • X (సమయ విండో): ప్రామాణిక సిఫార్సు చేయబడిన వ్యవధి 30 సెకన్లు.
  • ఫ్లోర్ ఫంక్షన్ ⌊ ⌋: 30 సెకన్ల విండోలోని ఏదైనా టైమ్‌స్టాంప్ కోసం, T మారదు. ఉదాహరణకు, ఎపోచ్ సెకన్లు 1728211200 మరియు 1728211229 మధ్య, T ఖచ్చితంగా అదే 64-బిట్ పూర్ణాంకాన్ని అందిస్తుంది.

బైనరీ సీరియలైజేషన్: T లెక్కించబడిన తర్వాత, అది 8-బైట్ బిగ్-ఎండియన్ బైనరీ బైట్ బఫర్‌గా ప్యాక్ చేయబడుతుంది (HOTP లోని కౌంటర్ C వలె మెమరీ నిర్మాణంలో సమానంగా ఉంటుంది). పర్యవసానంగా, ఏకీకృత సూత్రం ఇలా సరళీకృతం అవుతుంది:
TOTP(K, Time) = HOTP(K, T) ఈ గణిత గాంభీర్యం నిరంతర స్థితి సమకాలీకరణ అవసరం లేకుండానే authenticator యాప్‌లు ప్రతి 30 సెకన్లకు ఏకకాలంలో టోకెన్‌లను ఎందుకు రోల్ చేస్తాయో వివరిస్తుంది.

SHA-256 మరియు SHA-512 కోసం RFC 6238 మద్దతు: RFC 4226 ఖచ్చితంగా HMAC-SHA-1 ని నిర్వచించగా, RFC 6238 HMAC-SHA-256 మరియు HMAC-SHA-512 లకు మద్దతును విస్తరించింది. SHA-256 లో (32-బైట్ డైజెస్ట్), ఆఫ్‌సెట్ బైట్ 31 నుండి తీసుకోబడుతుంది (HS[31] & 0x0F); SHA-512 లో (64-బైట్ డైజెస్ట్), ఆఫ్‌సెట్ బైట్ 63 నుండి తీసుకోబడుతుంది (HS[63] & 0x0F). అయితే, 99.9% వాణిజ్య వెబ్‌సైట్‌లలో (Google, Microsoft, GitHub, AWS), పాత మొబైల్ క్లయింట్ అనుకూలత కారణంగా SHA-1 సర్వవ్యాప్త డిఫాల్ట్‌గా మిగిలిపోయింది.
04

సమగ్ర ముఖాముఖి పోలిక మాతృక (HOTP vs. TOTP)

కొలమానం HOTP (RFC 4226) TOTP (RFC 6238)
ఇన్‌పుట్ వేరియబుల్ ఈవెంట్ కౌంటర్ C (నిరంతరం పెరుగుతుంది) సమయ దశ T (30-సెకన్ల Unix ఎపోచ్ విండో)
టోకెన్ జీవితకాలం నిరవధికం (తదుపరి లాగిన్ ఉపయోగించే వరకు చెల్లుతుంది) ఖచ్చితంగా 30 సెకన్లు (స్వయంచాలకంగా చెల్లదు)
సర్వర్ ఆర్కిటెక్చర్ స్టేట్‌ఫుల్ (ప్రతి లాగిన్‌కు అటామిక్ డేటాబేస్ రైట్‌లు అవసరం) స్టేట్‌లెస్ (స్వతంత్ర NTP ధృవీకరణ)
రీప్లే దాడి ముప్పు మోడరేట్ (అడ్డగించబడిన టోకెన్ ఉపయోగించే వరకు చెల్లుబాటులో ఉంటుంది) అతి తక్కువ (ప్రస్తుత విండోలోని మిగిలిన సెకన్లకు మాత్రమే పరిమితం)
ప్రాథమిక వైఫల్య విధానం కౌంటర్ డీసింక్రొనైజేషన్ (ప్రమాదవశాత్తు బటన్ నొక్కడం) క్లాక్ డ్రిఫ్ట్ (క్లయింట్ ఫోన్ సమయ వ్యత్యాసం)
మద్దతు ఉన్న క్రిప్టోగ్రాఫిక్ హాష్‌లు HMAC-SHA-1 మాత్రమే HMAC-SHA-1, HMAC-SHA-256, HMAC-SHA-512
పరిశ్రమ స్వీకరణ లెగసీ బ్యాంకింగ్ ఫోబ్‌లు, ప్రత్యేక భౌతిక ద్వారాలు ఆధునిక వెబ్ ప్రామాణీకరణ సాధనాలలో 99.9%
05

డీసింక్రొనైజేషన్ వర్సెస్ టైమ్ డ్రిఫ్ట్: సాంకేతిక ఉపశమనాలు

పంపిణీ చేయబడిన ఉత్పత్తి వాతావరణాలలో, క్లయింట్లు మరియు సర్వర్లు అనివార్యంగా డ్రిఫ్ట్ అవుతాయి. విశ్వసనీయతను నిర్వహించడానికి క్రిప్టోగ్రాఫర్లు స్పష్టమైన పరిహార విండోలను రూపొందించారు:

⚙️ HOTP ఉపశమనం: లుక్-ఎహెడ్ వెరిఫికేషన్ విండో (s)

ఒక వినియోగదారు సమర్పించకుండానే వారి టోకెన్ బటన్‌ను 5 సార్లు క్లిక్ చేస్తే, సర్వర్ C వద్ద ఉండగా క్లయింట్ కౌంటర్ C+5 కి చేరుకుంటుంది.
RFC 4226 ప్రకారం ప్రామాణీకరణ సమయంలో సర్వర్ [C+1, C+s] (సాధారణంగా s=20) పరిధిలో లుక్-ఎహెడ్ విండోను లెక్కిస్తుంది. మ్యాచ్ దొరికితే, సర్వర్ ముందుకు దూకి కౌంటర్ C ని వెంటనే సమకాలీకరిస్తుంది.

⏱️ TOTP ఉపశమనం: టైమ్ స్కూ టాలరెన్స్ (±1 విండో)

నెట్‌వర్క్ జాప్యం లేదా క్లయింట్ పరికర క్లాక్ డ్రిఫ్ట్ (ఉదాహరణకు, ఫోన్ గడియారం 10 సెకన్లు వెనుకబడి ఉండటం) కారణంగా, టోకెన్‌లు ప్రక్కనే ఉన్న సమయ దశల్లో రావచ్చు.
ఉత్పత్తి సర్వర్లు 3-విండో శ్రేణిని మూల్యాంకనం చేస్తాయి: [T-1, T, T+1], తద్వారా ఆమోద విండోను 90 సెకన్లకు పొడిగిస్తాయి.

తప్పనిసరి యాంటీ-రీప్లే నియమం: 90-సెకన్ల స్కూ విండోలో రీప్లే దాడులను నిరోధించడానికి, సర్వర్లు ఉపయోగించిన టోకెన్‌లను మెమరీలో (ఉదా. Redis) 90 సెకన్ల పాటు కాష్ చేసి లాక్ చేయాలి, నకిలీ సమర్పణలను తిరస్కరించాలి.
🛡️ కాన్‌స్టెంట్-టైమ్ స్ట్రింగ్ పోలిక (టైమింగ్ అటాక్ రక్షణ):

వినియోగదారు సమర్పించిన కోడ్ లెక్కించిన కోడ్‌తో సరిపోలుతుందో లేదో సర్వర్లు ధృవీకరించినప్పుడు, సాధారణ స్ట్రింగ్ సమానత్వ తనిఖీలు (userOtp === serverOtp వంటివి) మొదటి సరిపోలని అక్షరం వద్ద ఆగిపోతాయి. సూక్ష్మ నెట్‌వర్క్ రౌండ్-ట్రిప్ ప్రతిస్పందన సమయాలను కొలిచే దాడిదారుడు అంకెలను పునఃసృష్టి చేయవచ్చు. ఎంటర్‌ప్రైజ్ బ్యాకెండ్‌లు సైడ్-ఛానల్ టైమింగ్ విశ్లేషణను అడ్డుకోవడానికి స్థిర-సమయ సమానత్వ పోలికలను (ఉదాహరణకు Node.js లో crypto.timingSafeEqual) అమలు చేస్తాయి.

06

ఆధునిక ఇంటర్నెట్‌ను TOTP ఎందుకు గెలుచుకుంది

వెబ్‌లో HOTP పై TOTP సాధించిన నిర్ణయాత్మక విజయం మూడు ఆర్కిటెక్చరల్ ఆవశ్యకతల ద్వారా నడపబడింది:

☁️ స్టేట్‌లెస్ క్లౌడ్ స్కేలబిలిటీ

పంపిణీ చేయబడిన బహుళ-ప్రాంత మైక్రోసర్వీస్‌లలో, NTP-సమకాలీకరించబడిన గడియారాన్ని కలిగి ఉన్న ఏ సర్వర్ ఉదాహరణ అయినా కేంద్రీకృత డేటాబేస్ రికార్డ్‌ను ప్రశ్నించకుండా లేదా లాక్ చేయకుండా TOTP టోకెన్‌లను ధృవీకరించగలదు.

📱 మొబైల్ ఎకోసిస్టమ్ సినర్జీ

స్మార్ట్‌ఫోన్‌లు సెల్యులార్ బేస్ స్టేషన్‌లు మరియు GPS ద్వారా తమ సిస్టమ్ గడియారాలను నిరంతరం క్రమాంకనం చేస్తాయి, భౌతిక హార్డ్‌వేర్ నిర్వహణ అవసరం లేకుండా క్లాక్ డ్రిఫ్ట్‌ను తొలగిస్తాయి.

🛡️ ఇరుకైన 30-సెకన్ల దాడి విండో

HOTP టోకెన్‌లు ఉపయోగించే వరకు నిరవధికంగా చెల్లుబాటులో ఉంటాయి. TOTP టోకెన్‌లు 30 సెకన్లలో ముగుస్తాయి, రాజీపడిన లాగ్‌లు మరియు నిష్క్రియ ప్యాకెట్ క్యాప్చర్‌లను స్వయంచాలకంగా నిర్వీర్యం చేస్తాయి.

🧮 స్వచ్ఛమైన క్లయింట్-సైడ్ RFC 6238 ఇంజిన్

2FA-Tool లో రియల్-టైమ్ TOTP గణనలను అనుభవించండి

HMAC-SHA1 డైనమిక్ ట్రంకేషన్ ద్వారా మీ Base32 రహస్య స్ట్రింగ్ డైనమిక్ 6-అంకెల కోడ్‌లుగా ఎలా మారుతుందో చూడండి. మీ బ్రౌజర్‌లో 100% ఆఫ్‌లైన్.

ఆన్‌లైన్ జెనరేటర్‌ను తెరవండి