ക്രമരഹിതമായ പാസ്വേഡ് ജനറേറ്റർ
നിങ്ങളുടെ ബ്രൗസറിൽ തൽക്ഷണം സുരക്ഷിത റാൻഡം പാസ്വേഡുകൾ സൃഷ്ടിക്കുക. നീളവും പ്രതീക തരങ്ങളും ഇഷ്ടാനുസൃതമാക്കുക - സൗജന്യവും സ്വകാര്യവും കൂടാതെ ഒരു സെർവറിലേക്കും ഡാറ്റയൊന്നും അയയ്ക്കേണ്ടതില്ല.
നിങ്ങളുടെ ബ്രൗസറിൽ തൽക്ഷണം സുരക്ഷിത റാൻഡം പാസ്വേഡുകൾ സൃഷ്ടിക്കുക. നീളവും പ്രതീക തരങ്ങളും ഇഷ്ടാനുസൃതമാക്കുക - സൗജന്യവും സ്വകാര്യവും കൂടാതെ ഒരു സെർവറിലേക്കും ഡാറ്റയൊന്നും അയയ്ക്കേണ്ടതില്ല.
ഒരു റാൻഡം പാസ്വേഡ് ജനറേറ്റർ ഊഹത്തെയും ക്രൂരമായ ആക്രമണങ്ങളെയും പ്രതിരോധിക്കാൻ രൂപകൽപ്പന ചെയ്ത സ്ട്രിംഗുകൾ നിർമ്മിക്കുന്നു. ജനറേറ്റ് ചെയ്ത പാസ്വേഡിൻ്റെ ശക്തി അതിൻ്റെ നീളത്തെയും ഉപയോഗിച്ചിരിക്കുന്ന അക്ഷരമാലയെയും (സാധ്യമായ പ്രതീകങ്ങളുടെ കൂട്ടം) ആശ്രയിച്ചിരിക്കുന്നു: 94-അക്ഷരങ്ങളുടെ അക്ഷരമാലയിൽ നിന്നുള്ള 12 പ്രതീകങ്ങൾ (അപ്പർകേസ് + ചെറിയക്ഷരം + അക്കങ്ങൾ + ചിഹ്നങ്ങൾ) ഏകദേശം 79 ബിറ്റുകൾ എൻട്രോപ്പി നൽകുന്നു, ഇത് പൊതു ഉപയോഗത്തിന് സൗകര്യപ്രദമായി കണക്കാക്കപ്പെടുന്നു. ചെറുതോ ലളിതമോ ആയ പാസ്വേഡുകൾ കുറഞ്ഞ എൻട്രോപ്പി നൽകുന്നതും ആധുനിക ആക്രമണ ഹാർഡ്വെയറിനെതിരെ ദുർബലവുമാണ്.
നിർണ്ണായകമായി, ഈ ജനറേറ്റർ ക്രിപ്റ്റോഗ്രാഫിക്കായി സുരക്ഷിതമായ റാൻഡം ഉറവിടങ്ങൾ (window.crypto.getRandomValues) ഉപയോഗിക്കുന്നു, സുരക്ഷാ ആവശ്യങ്ങൾക്ക് അനുയോജ്യമല്ലാത്ത ലളിതമായ Math.random അല്ല. അക്കൗണ്ട് പാസ്വേഡുകൾ, വ്യക്തിഗത ഉപയോഗത്തിനുള്ള എൻക്രിപ്ഷൻ കീകൾ, പ്രവചനാതീതത പ്രാധാന്യമുള്ള മറ്റേതെങ്കിലും സന്ദർഭം എന്നിങ്ങനെ യഥാർത്ഥ ഉപയോഗത്തിന് ഔട്ട്പുട്ട് അനുയോജ്യമാണ്.
എല്ലാ തലമുറകളും നിങ്ങളുടെ ബ്രൗസറിൽ സംഭവിക്കുന്നു. പാസ്വേഡ് ഒരിക്കലും ഒരു സെർവറിലേക്ക് സഞ്ചരിക്കില്ല, ലോഗിൻ ചെയ്തിട്ടില്ല, നമുക്ക് ആക്സസ് ചെയ്യാൻ കഴിയുന്ന എവിടെയും സൂക്ഷിക്കുകയുമില്ല. ജനറേറ്റുചെയ്ത പാസ്വേഡ് ഉപയോഗിക്കുന്നതിന്, അത് നേരിട്ട് ലക്ഷ്യസ്ഥാനത്തേക്ക് പകർത്തുക - ഒരു പാസ്വേഡ് മാനേജർ, അക്കൗണ്ട് സൃഷ്ടിക്കൽ ഫോം അല്ലെങ്കിൽ ആവശ്യമുള്ളിടത്ത്.
പ്രവചിക്കാവുന്ന പാസ്വേഡുകൾ മനുഷ്യർ തിരഞ്ഞെടുക്കുന്നു. ലംഘിക്കപ്പെട്ട പാസ്വേഡ് ഡാറ്റാബേസുകളെക്കുറിച്ചുള്ള പഠനങ്ങൾ ഒരേ ലളിതമായ പാറ്റേണുകൾ ദശലക്ഷക്കണക്കിന് തവണ ദൃശ്യമാകുന്നുവെന്ന് സ്ഥിരമായി കാണിക്കുന്നു: '123456', 'പാസ്വേഡ്', ഒരു സംഖ്യ ചേർത്ത നിഘണ്ടു വാക്കുകൾ, വളർത്തുമൃഗങ്ങളുടെയും കുടുംബാംഗങ്ങളുടെയും പേരുകൾ. ജനറേറ്റഡ് റാൻഡം പാസ്വേഡുകൾ ഈ പാറ്റേണുകൾ പൂർണ്ണമായും ഒഴിവാക്കുന്നു.
അക്കൗണ്ടുകളിലുടനീളം പാസ്വേഡുകൾ വീണ്ടും ഉപയോഗിക്കുന്നതും വലിയ അപകടമാണ്. ഒരു സൈറ്റിൻ്റെ ഡാറ്റാബേസ് ചോർന്നാൽ, ഒരേ പാസ്വേഡ് ഉപയോഗിക്കുന്ന മറ്റെല്ലാ അക്കൗണ്ടുകളും അപഹരിക്കപ്പെടും. ഓരോ അക്കൗണ്ടിനുമുള്ള തനതായ ക്രമരഹിതമായ പാസ്വേഡുകൾ, ഒരു പാസ്വേഡ് മാനേജറിൽ സംഭരിച്ചിരിക്കുന്നു, ഈ ആക്രമണ വെക്ടറിനെ ഇല്ലാതാക്കുക. ജനറേറ്റർ ഒരു സമയം ഒരു പുതിയ അദ്വിതീയ പാസ്വേഡ് നിർമ്മിക്കുന്നു.
നീളവും പ്രതീക സെറ്റും സജ്ജമാക്കുക, സൃഷ്ടിക്കുക.
window.crypto.getRandomValues, ബ്രൗസറിൻ്റെ സുരക്ഷിത റാൻഡം ഉറവിടത്തിൽ നിന്ന് വരച്ച ക്രിപ്റ്റോഗ്രാഫിക്കലി സുരക്ഷിതമായ റാൻഡം ബൈറ്റുകൾ ഉപയോഗിച്ച് ടൈപ്പ് ചെയ്ത അറേ പൂരിപ്പിക്കുന്നു. തിരഞ്ഞെടുത്ത അക്ഷരമാലയിലേക്ക് റാൻഡം ബൈറ്റുകൾ മാപ്പ് ചെയ്തുകൊണ്ട് പാസ്വേഡിൻ്റെ ഓരോ പ്രതീകവും തിരഞ്ഞെടുക്കുന്നു, മോഡുലോ ബയസ് ഒഴിവാക്കാൻ നിരസിക്കൽ സാമ്പിളിംഗ്.
എൻട്രോപ്പി: log2(alphabet_size^length). 94-അക്ഷരങ്ങളുള്ള അക്ഷരമാലയിൽ നിന്ന് 12 പ്രതീകങ്ങൾ = 12 × ലോഗ്2(94) ≈ 78.7 ബിറ്റുകൾ. 62-അക്ഷരങ്ങളുള്ള അക്ഷരമാലയിൽ നിന്ന് 16 പ്രതീകങ്ങൾ (ആൽഫാന്യൂമെറിക് മാത്രം) ≈ 95.3 ബിറ്റുകൾ. ഉയർന്ന എൻട്രോപ്പി ബ്രൂട്ട് ഫോഴ്സിന് എക്സ്പണൻഷ്യലായി ബുദ്ധിമുട്ടാണ്.
പ്രായോഗിക ആക്രമണ നിരക്കുകൾ: ആധുനിക GPU-കൾ ഒരു ക്ലസ്റ്ററിലുടനീളം സെക്കൻഡിൽ 100 ബില്യൺ bcrypt-cost-12 ശ്രമങ്ങൾ ഹാഷ് ചെയ്യുന്നു. എൻട്രോപ്പിയുടെ 78 ബിറ്റുകൾ = 2^78 ≈ 3 × 10^23 കാൻഡിഡേറ്റുകൾ. GPU നിരക്കിലുള്ള ബ്രൂട്ട് ഫോഴ്സിന് ഏകദേശം 10^14 വർഷമെടുക്കും - അപ്രായോഗികം. ലോവർ-എൻട്രോപ്പി പാസ്വേഡുകൾ പെട്ടെന്ന് എത്തിച്ചേരാവുന്ന ആക്രമണ ശ്രേണികളിലേക്ക് ഡ്രോപ്പ് ചെയ്യുന്നു.