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 కు ప్రత్యేకమైనది కాదు; ఇది గూగుల్, ఆపిల్, అమెజాన్ వంటి పెద్దవారు ఉపయోగించే సాంకేతిక పరిశ్రమ అంతటా ప్రమాణం. Splync చాలా సురక్షితంగా నిర్మించబడింది మరియు ఇమెయిల్ ధృవీకరణ, బృహత్-ఫోర్స్ రక్షణ మరియు కొనసాగుతున్న మానిటరింగ్ వంటి ఫీచర్లతో భద్రతను మెరుగుపరుస్తూ అది మరింత సురక్షితంగా మారుతుంది.