Splync உங்கள் கடவுச்சொல்லை நேரடியாக பதிவு செய்யாது
முந்தைய கட்டுரைகளில், HTTPS உங்கள் பயன்பாடு மற்றும் எங்கள் சேவையகத்திற்கிடையே பாதையை எப்படி பாதுகாக்கிறது என்பதையும், SSH சேவையகத்தையே பாதுகாக்கிறது என்பதையும் ஆராய்ந்தோம். இப்போது, உங்கள் கடவுச்சொல் எங்கள் சேவையகத்திற்கு வந்த பிறகு, Splync அதை எப்படி பாதுகாக்கிறது என்பதைப் பார்க்கலாம். யாராவது உங்கள் கடவுச்சொல்லைப் பெற்றால், அந்த நபர் உங்கள் கணக்கில் உள்நுழைந்து உங்கள் செலவுத் தகவல்களையும் அடங்கிய நுண்ணறிவுகளை அணுக முடியும். அதனால் தான் Splync கடவுச்சொற்களை நேரடியாக சேமிக்காது. அதற்கு பதிலாக, ஒவ்வொரு கடவுச்சொல்லும் தரவுத்தளத்தில் சேமிக்கப்படுவதற்கு முந்தியதாக மாற்றம் செய்யப்படுகிறது. இது உண்மையில் என்ன பொருள்? ஹாஷிங் ஒரு வழி மாற்றம் — ஒரு முறை மாற்றப்பட்ட பிறகு, அதை மறுபடியும் ஆரம்ப கடவுச்சொல்லாக மாற்ற முடியாது. இந்த முறை இணையத்தில் பொதுவானது, வங்கிகள் முதல் முக்கிய கிளவுட் சேவைகள் வரை, ஆனால் பலருக்கும் அது எப்படி செயல்படுகிறது என்பது தெரியாது. அதை ஒரு எளிய அன்றாட உதாரணம் மூலம் ஆராய்வோம்.
ஹாஷிங் அடிப்படைகள்: எப்போதும் ஒரே மாதிரியான கலவை செய்யும் மெஷின்
கடவுச்சொல் பாதுகாப்பு எப்படி செயல்படுகிறது என்பதைப் புரிந்துகொள்வதற்கு, முதலில் SHA-256 எனப்படும் ஒரு எளிய ஹாஷிங் முறையுடன் தொடங்குவோம். இது எப்போதும் பொருட்களை ஒரே மாதிரியே கலக்கும் ஒரு மெஷினைப் போல. அதே கடவுச்சொல்லை மெஷினில் போட்டு பொத்தானை அழுத்தினால், எப்போதும் அன்றைய மறைந்த எழுத்துகள் மற்றும் எண்களின் கலவை கிடைக்கும். முக்கியம் என்னவெனில், இந்த செயல்முறை மீண்டும் செய்ய முடியாது. நீங்கள் ஒரு கலவையை எடுத்து அதை மீண்டும் சரியான வாழைப்பழம் மற்றும் பால் மாதிரி பிரிக்க முடியாததுபோல், மறைந்த ஹாஷை எடுத்து ஆரம்ப கடவுச்சொல்லை மீண்டும் பெற முடியாது.
SHA-256 எடுத்துக்காட்டு: கடவுச்சொல்லை தெரியாமல் சரிபார்க்கும் விதம்
SHA-256 என்பது மிகவும் ஸ்டான்டர்ட் ஹாஷிங் ஆல்காரிதம்களில் ஒன்று. உதாரணமாக, "splync1234" எனும் கடவுச்சொல்லை “9cdafa20d069ecfb202e5f0bc937c73071cc6cd85634cc2d95d30ddcf2a71d41” என ஹாஷ் செய்கிறது. ஒரு பயனர் ஒரு லாகினுக்கு கடவுச்சொல்லை உள்ளிடும் போதெல்லாம், SHA-256 அதே ஹாஷ் கடவுச்சொல்லை உருவாக்கும். பயன்பாடு உள்ளிடப்பட்ட கடவுச்சொல்லை மறுபடியும் ஹாஷ் செய்து, அது சேமிக்கப்பட்ட ஹாஷுடன் பொருந்துகிறதா என்பதைச் சரிபார்க்கிறது. எந்த நேரத்திலும் கணினி பயனர் இருப்பிட கடவுச்சொல்லை அறியாது. ஆனால், ஒரு கைமாற்றப்படுத்தியவரால் பொதுவான கடவுச்சொற்களின் பட்டியலை மற்றும் அவற்றின் ஹாஷ்களை (ரெயின்போ டேபிள் தாக்குதல் என்று அழைக்கப்படுவது) முன்னதாக கணக்கிடப்படுத்தி, பயனர்கள் கடவுச்சொற்களை வேகமாக அறிந்து கொள்ள முடியுமா? அது உண்மையாகவே அச்சம் தரக்கூடியது. அதனால் தான், Splync உட்பட நவீன அமைப்புகள், சாதாரண SHA-256 ஐ நம்பமாட்டாது.
Splync bcrypt மூலம் கடவுச்சொற்களை ஹாஷ் செய்கிறது — SHA-256 கைவிட வலிமையானது
Bcrypt ஒவ்வொரு பயனருக்கும் தனிப்பட்ட மிளகாய் (சால்ட்) பயன்படுத்துகிறது மற்றும் அந்த சால்ட் (மற்றும் செலவு முறை) நேரடியே சேமிக்கப்பட்ட ஹாஷ் சரமத்தில் குறியாக்குகிறது. bcrypt ஒரு புலினை (சால்ட்) மற்றும் ஒரு மெதுவான மொட்டாரைக் கொண்ட த秘密ம் போல — ஒவ்வொரு கலவையையும் தனித்தன்மையாகவும் நகலெடுக்கக் கடினமாகவும் ஆக்குகிறது. சால்ட் 128 பிட்டுகள் (≈3×10³⁸ சாத்தியக்கூறுகள்) ஆக இருப்பதால், அதே கடவுச்சொல் ஒரு அசாதாரண அளவு வித்தியாசமான சேமிக்கப்பட்ட ஹாஷ்களுக்குப் பொருந்தலாம். அதனால் முந்திய கணக்கிடப்பட்ட ரெயின்போ டேபிள்கள் அளவுக்கு பயனற்றதாக ஆகின்றன. உள்நுழைவின் போது, Splync சேமிக்கப்பட்ட bcrypt சரமத்தில் இருந்து சால்ட் மற்றும் செலவைப் படிக்கிறது, உள்ளிடப்பட்ட கடவுச்சொல்லை அந்த அளவுகோலானவுடன் bcrypt ஐ மறுபடியும் இயக்குகிறது, மற்றும் முடிவை சேமிக்கப்பட்ட ஹாஷுடன் ஒப்பிடுகிறது. அவை பொருந்தினால், கடவுச்சொல் சரியானது — ஆனால் bcrypt நோக்கமாக மெதுவாகவும் சால்ட் யுடனும் இருப்பதால், பலவந்த தாக்குதல்கள் ஒரு கைமாற்றப்படுத்தியவற்கு மிகவும் செலவானவையாக மாறுகின்றன.
bcrypt உடன் ஒரு எளிய எடுத்துக்காட்டு
இது நடைமுறையில் எப்படி இருக்கும் என்பதை பார்ப்போம். நீங்கள் "splync1234" என்ற கடவுச்சொல்லை bcrypt மூலம் (செலவு 12 பயன்படுத்தி) ஹாஷ் செய்தால், `$2b$12$gBeouKYdue9uvvuV0HtGgeVPymnrojMqP/wcRw28HFlGEGIQbyw7O` போன்ற ஒரு சரமம் கிடைக்கலாம். இந்த bcrypt சரமத்தில், `$2b` ஆல்காரிதம் பதிப்பை குறிக்கிறது, `$12` செலவு அளவுகோலைக் காட்டுகிறது (கடவுச்சொல் எவ்வளவு முறை செயலாக்கப்பட்டுள்ளது), `gBeouKYdue9uvvuV0HtGgeV` என்பது தனித்தன்மையான சால்ட், மற்றும் `PymnrojMqP/wcRw28HFlGEGIQbyw7O` என்பது இறுதி ஹாஷ் கடவுச்சொல். ஹாஷ் சரமம் சால்ட் மற்றும் செலவை கொண்டதால், Splync அவற்றைச் சேமிக்கப்பட்ட சரமத்தில் இருந்து எடுத்துக்கொண்டு ஒத்திசைவிற்கான அதே ஹாஷ் செயல்முறையை மறுபடியும் உருவாக்க முடியும். மாறாக, ஒரு கைமாற்றப்படுத்தியவம் சால்ட் மற்றும் செலவை அறியவில்லை என்றால், ஒவ்வொரு பயனருக்கும் பொருந்தும் ஒரே ரெயின்போ டேபிளை உருவாக்க முடியாது.
ஹாஷ் செய்யப்பட்ட கடவுச்சொற்கள் இரட்டை பாதுகாப்பை வழங்குகின்றன
இந்த அணுகுமுறை மற்றொரு முக்கியமான நன்மையை கொண்டுள்ளது. Splync நேரடியாக கடவுச்சொற்களை ஒருபோதும் சேமிக்காததால், தரவுத்தளம் கசிந்தால் அல்லது திருடினாலும், பயனர்கள் உடனடியாக ஆபத்தில் இல்லை. கைமாற்றப்படுத்தியவர்கள் திருடிய தரவுடன் நேரடியாக உள்நுழைய முடியாது, ஏனெனில் அவர்களுக்கு மட்டுமே மறைந்த சரங்கள் உள்ளன. இந்த வடிவமைப்பு பயனர்களுக்கு சேவையகம் சுற்றி ஏற்கனவே உள்ள பாதுகாப்பு நடவடிக்கைகளுக்கு மேல் ஒரு கூடுதல் பாதுகாப்புக் கட்டமாக செயல்படுகிறது. கடவுச்சொல் ஹாஷிங் Splyncக்கு மட்டும் விசேஷமல்ல; இது Google, Apple, மற்றும் Amazon போன்ற பல நிகர்வியலாளர்களால் பயன்படுத்தப்படும் தொழில்நுட்பத் துறையில் பொதுவானதாகும். Splync மிகச் சிறப்பாக கட்டமைக்கப்பட்டுள்ளது, மேலும் மின்னஞ்சல் சரிபார்ப்பு, பலவந்த தாக்குதலுக்கு எதிரான பாதுகாப்பு, மற்றும் தொடர்ச்சியான மேற்பார்வை போன்ற அம்சங்களுடன் பாதுகாப்பை மேம்படுத்துவதால் அது மேலும் பாதுகாப்பானதாக இருக்கும்.