எந்தவொரு ஆன்லைன் கணக்கிற்கும் வலுவான, தனித்துவமான கடவுச்சொல் என்பது மிகவும் அவசியமான மற்றும் எளிதான பாதுகாப்பாகும் — ஆனால் இது உங்களுக்கு எப்போது தேவைப்படும் என்பதை கணிக்க முடியாது: பணிக்காக ஒரு புதிய கணக்கை உருவாக்கும்போது, வங்கி கடவுச்சொல்லை மாற்றச் சொல்லும்போது, புதிய வைஃபை ரவுட்டரை அமைக்கும்போது, அல்லது நீண்ட காலமாக தள்ளிப்போட்ட கடவுச்சொல் நிர்வாகி (password manager) பயன்பாட்டை தொடங்கும்போது என பல நேரங்களில் தேவைப்படலாம். இந்த இலவசமான வலுவான கடவுச்சொல் உருவாக்கி ஒரே கிளிக்கில் முற்றிலும் சீரற்ற கடவுச்சொல்லை உருவாக்குகிறது. உங்களுக்குத் தேவையான “நீளம்” என்பதை அமைத்து, எந்தெந்த வகைகளைச் சேர்க்க வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும் — பெரிய மற்றும் சிறிய எழுத்துகள், எண்கள், அடிப்படை குறியீடுகள் (%$#@!?&), மற்றும் சிக்கலான குறியீடுகள் (.,;[]()^-_=+{}:<>|) — பிறகு “உருவாக்கு” என்பதை அழுத்தவும்.
பாதுகாப்புதான் முக்கிய நோக்கம் என்பதால், இந்த உருவாக்கி Web Crypto API (crypto.getRandomValues) அடிப்படையில் கட்டமைக்கப்பட்டுள்ளது. இது TLS மற்றும் பிற முக்கியமான பாதுகாப்புச் செயல்பாடுகள் நம்பியிருக்கும் அதே கிரிப்டோகிராஃபிக் முறையில் பாதுகாக்கப்பட்ட சிஸ்டம் ரேண்டம்னெஸ் (randomness) மூலம் மதிப்புகளைப் பெறுகிறது. Math.random() அல்லது அதுபோன்ற எளிதில் கணிக்கக்கூடிய செயற்கையான சீரற்ற செயல்பாடுகளை அடிப்படையாகக் கொண்ட உருவாக்கிகள் போல் அல்லாமல், ஒரு முடிவைப் பார்ப்பதன் மூலம் அடுத்த முடிவைப் பற்றி தாக்குபவர்களுக்கு எந்தத் தகவலும் கிடைக்காத வகையில் இது உருவாக்கப்பட்டுள்ளது. உருவாக்குதல் முற்றிலும் உங்கள் சாதனத்திலேயே நடைபெறுகிறது: கடவுச்சொல் ஒருபோதும் சேவையகத்திற்கு அனுப்பப்படுவதில்லை, பதிவு செய்யப்படுவதில்லை, மேலும் எங்களால் ஒருபோதும் பார்க்கப்படுவதும் இல்லை — இதில் இடைமறிக்கவோ அல்லது எங்களால் சேமித்து வைக்கவோ எதுவும் இல்லை.
இதில் உள்ள விருப்பத்தேர்வுகள் எந்தவொரு தளத்தின் கடவுச்சொல் கொள்கையையும் எளிதாகப் பூர்த்தி செய்ய உதவுகின்றன. நீங்கள் தேர்ந்தெடுத்த ஒவ்வொரு வகையிலிருந்தும் குறைந்தபட்சம் ஒரு எழுத்தாவது ஒவ்வொரு கடவுச்சொல்லிலும் இருப்பதை இது உறுதிசெய்கிறது — எனவே “கண்டிப்பாக ஒரு பெரிய எழுத்து மற்றும் ஒரு எண் இருக்க வேண்டும்” போன்ற நிபந்தனைகள் தானாகவே பூர்த்தி செய்யப்படுகின்றன — மேலும் ஒரு வகை மட்டும் அதிகமாக இல்லாமல் இருப்பதற்காக, “ஒவ்வொரு வகை எழுத்துகளின் எண்ணிக்கையையும் தோராயமாக சமமாக வைக்கவும்” என்பது இயல்பாகவே இயக்கப்பட்டுள்ளது. அதிகபட்ச பாதுகாப்பிற்கு குறியீடுகளை இயக்கவும், அல்லது அவற்றை ஏற்றுக்கொள்ளாத பழைய சிஸ்டம்களுக்கு அவற்றை முடக்கவும். “ஒரே மாதிரி தோன்றும் எழுத்துகள் இல்லாமல்” என்ற விருப்பத்தேர்வு, மக்கள் அடிக்கடி தவறாகப் படிக்கும் எழுத்துகளை (Il1O0o) நீக்குகிறது.
உங்களுக்கு ஒன்றுக்கும் மேற்பட்ட கடவுச்சொற்கள் தேவையா, அல்லது வழக்கத்திற்கு மாறான கடவுச்சொல் கொள்கை உள்ளதா? “தேர்வுகளின் எண்ணிக்கை” என்பதை அமைத்து ஒரே நேரத்தில் முழு பட்டியலையும் உருவாக்குங்கள் — ஒரு குழுவிற்கு கணக்குகளை உருவாக்கும்போது அதிகபட்சம் 100 கடவுச்சொற்கள் வரை உருவாக்கலாம் — மேலும் எண்ணிக்கை 1-ஐ விட அதிகமாக இருந்தால், “வெளியீட்டு வடிவம்” என்பது அவை எவ்வாறு பிரிக்கப்படுகின்றன என்பதைத் தீர்மானிக்கிறது: “புதிய வரி”, “இடைவெளியால் பிரிக்கப்பட்டது” அல்லது “கமாவால் பிரிக்கப்பட்டது”. மற்ற அனைத்தும் “மேம்பட்ட விருப்பங்கள்” என்பதன் கீழ் உள்ளன. ஒரே எழுத்து ஒன்றுக்கும் மேற்பட்ட முறை தோன்றுவதை அனுமதிக்க, “ஒரே கடவுச்சொல்லில் மீண்டும் வரும் எழுத்துகளை தவிர்க்கவும்” என்பதை அணைத்து வைக்கவும். தமிழ் மொழிக்கு தனி எழுத்துகள் இதில் இல்லை என்றாலும், உக்ரேனியன், கிரேக்கம் மற்றும் செர்பியன் முதல் போலிஷ், துருக்கி மற்றும் வியட்நாமிய மொழி வரை 35 பிற மொழிகளின் எழுத்துகளை இந்த உருவாக்கி ஆதரிக்கிறது. முழுமையான கட்டுப்பாட்டிற்கு, “எழுத்து தொகுப்புகள் (ஒரு வரிக்கு ஒன்று)” என்பதைப் பயன்படுத்தி நீங்கள் உங்களின் சொந்தத் தொகுப்புகளை வரையறுக்கலாம்: ஒவ்வொரு வரியும் இந்த உருவாக்கி எழுத்துகளைத் தேர்ந்தெடுப்பதற்கான ஒரு தனி வகையாக மாறும்.
இந்த கடவுச்சொல் உருவாக்கியை ஏன் தேர்ந்தெடுக்க வேண்டும்?
- உலாவிக்குள் மட்டுமே உருவாக்குதல்: கடவுச்சொல் உங்கள் சாதனத்திலேயே உருவாக்கப்பட்டு வேறு எங்கும் அனுப்பப்படுவதில்லை
- Web Crypto API சீரற்ற தன்மை — கிரிப்டோகிராஃபிக் முறையில் பாதுகாப்பானது, Math.random() அல்ல
- வரம்பற்றது மற்றும் இலவசம்: உங்களுக்குத் தேவையான அளவு கடவுச்சொற்களை உருவாக்குங்கள், பதிவு தேவையில்லை
- ஒவ்வொரு வகைக்கான உத்தரவாதம்: தேர்ந்தெடுக்கப்பட்ட ஒவ்வொரு எழுத்து வகையும் எப்போதும் இருக்கும்
- தனிப்பயன் எழுத்து தொகுப்புகள்: வழக்கத்திற்கு மாறான கடவுச்சொல் கொள்கைகளுக்கு ஏற்றது
- என்ட்ரோபி கணிப்பு: ஒவ்வொரு கடவுச்சொல்லின் வலிமையையும் பிட்களில் பார்க்கலாம்
- குழப்பத்தை ஏற்படுத்தும் எழுத்துகளுக்கு எதிரான பாதுகாப்பு
- பிற மொழி எழுத்துகள்: 35 மொழிகளிலிருந்து உள்ளூர் எழுத்துகளைச் சேர்க்கலாம்
- மொத்த முறை: ஒரே கிளிக்கில் கடவுச்சொற்களின் முழு பட்டியலையும் உருவாக்கலாம்
இந்த சீரற்ற தன்மை எவ்வாறு உருவாக்கப்படுகிறது? உங்கள் ஆப்பரேட்டிங் சிஸ்டம் தொடர்ந்து என்ட்ரோபியைச் சேகரிக்கிறது — அதாவது வன்பொருள் நிகழ்வுகளிலிருந்து கணிக்க முடியாத தரவுகளை — மேலும் அதை கிரிப்டோகிராஃபிக் முறையில் பாதுகாக்கப்பட்ட ரேண்டம் நம்பர் ஜெனரேட்டரில் செலுத்துகிறது. நீங்கள் 'உருவாக்கு' என்பதை அழுத்தும்போது, இந்தப் பக்கத்தின் JavaScript crypto.getRandomValues மூலம் உலாவியிடமிருந்து சீரற்ற மதிப்புகளைக் கோருகிறது, அவற்றை நீங்கள் தேர்ந்தெடுத்த எழுத்து வகைகளுடன் வரைபடமாக்குகிறது, ஒவ்வொரு வகையும் இருப்பதை உறுதிசெய்கிறது, பின்னர் கடவுச்சொல்லை உருவாக்குகிறது. இதில் ஊகிப்பதற்கு எந்த ஒரு அடிப்படை தரவும் இல்லை (seed), சிறப்பு கடவுச்சொல் உடைக்கும் வன்பொருள்கள் பயன்படுத்தக்கூடிய எந்த அல்காரிதம் குறுக்குவழியும் இல்லை, மேலும் எந்த நிலையிலும் எந்த இணைய கோரிக்கையும் இல்லை — முழுச் செயல்முறையும் உங்கள் சாதனத்திலேயே இயங்குகிறது.
முடிவிற்கு கீழே நீங்கள் என்ட்ரோபி மதிப்பீட்டை பிட்களில் காண்பீர்கள் — இது கடவுச்சொல்லின் வலிமையை அளவிடும் முறையாகும்: 60+ பிட்கள் அன்றாட கணக்குகளுக்கு போதுமானது, 80+ வலுவானது, மேலும் 100+ என்பது இன்றைய அதிநவீன வன்பொருள்களைக் கொண்ட முரட்டுத்தனமான தாக்குதலுக்கு (brute force) அப்பாற்பட்டது. எல்லாவற்றையும் விட இரண்டு பழக்கங்கள் மிகவும் முக்கியமானவை. முதலாவது, சிக்கலான தன்மையை விட நீளம் சிறந்தது: முக்கியமான எதற்கும் 16+ எழுத்துகளைப் பயன்படுத்துங்கள் — கூடுதல் குறியீட்டு வகையைச் சேர்ப்பதை விட, சேர்க்கப்படும் ஒவ்வொரு எழுத்தும் ஒரு தாக்குபவரின் வேலையை மிக விரைவாகப் பன்மடங்கு கடினமாக்குகிறது. இரண்டாவது, தனித்துவம்: ஒரு இணையதளம் தரவு மீறலுக்கு (data breach) உள்ளாகும்போது, கசிந்த லாகின் விவரங்கள் உடனடியாக மற்ற சேவைகளிலும் முயற்சி செய்யப்படுகின்றன — இது நற்சான்றிதழ் திணிப்பு (credential stuffing) என அழைக்கப்படுகிறது — எனவே மீண்டும் மீண்டும் பயன்படுத்தப்படும் ஒரு கடவுச்சொல், ஒரு தரவுக் கசிவை அந்தக் கணக்கை முழுமையாகக் கைப்பற்றுவதாக மாற்றிவிடும். ஒவ்வொரு கணக்கிற்கும் தனித்தனி கடவுச்சொல்லை உருவாக்குங்கள், அவற்றை ஒரு கடவுச்சொல் நிர்வாகியில் சேமித்து வையுங்கள், மேலும் இரு காரணி அங்கீகாரம் (2FA) எங்கு வழங்கப்பட்டாலும் அதை இயக்குங்கள். உண்மையான சீரற்ற கடவுச்சொல்லில் மீண்டும் வரும் எழுத்துகளோ அல்லது படிக்கக்கூடிய சிறிய வார்த்தையோ இருந்தால் ஆச்சரியப்பட வேண்டாம் — உண்மையான சீரற்ற தன்மையானது இதுபோன்ற தொடர்களை எப்போதும் உருவாக்குகிறது, மேலும் இது கடவுச்சொல்லை எந்த வகையிலும் பலவீனப்படுத்தாது.