సెప్టెంబర్ 18, 2008

కాదు ఏ సమాచారమూ భద్రం …

Posted in గూగుల్, బ్లాగరు, సెక్యూరిటీ, హాక్, followers వద్ద 7:09 ఉద. ద్వారా Praveen Garlapati

సెక్యూరిటీ గురించి నా ఇంతకు ముందు టపాలలో ఇక్కడ, ఇక్కడ, ఇక్కడ చెప్పాను.

వెబ్ అప్లికేషన్లలో సెక్యూరిటీ సమస్యలు కేవలం చిన్న సంస్థలకే అనుకుంటే తప్పులో కాలేసినట్టే.

A chain is only as strong as its weakest link.

అన్న సూత్రం అచ్చంగా సెక్యూరిటీకి వర్తిస్తుంది. ఎంత పటిష్ఠంగా రూపొందించిన సిస్టం లేదా వెబ్‍సైటయినా ఒక చిన్న పొరపాటు వల్ల క్రాకర్ల బారిన పడవచ్చు. ఒక పెద్ద సంస్థ రూపొందించింది కదా అని మనం భరోసాగా ఉండలేము. ఇదంతా ఎందుకు చెబుతున్నానంటే మొన్నీ మధ్యే నాకు తారసపడిన ఒక ఉదంతం వల్ల.

బ్లాగరు ఈ మధ్యే “Followers” అనే ఒక కొత్త ఫీచరు/విడ్జెటుని విడుదల చేసింది. మీరు ఏ బ్లాగులయితే తరచుగా చదువుతారో వాటిని మీ బ్లాగరులో చేర్చుకోవచ్చు. అలా చేర్చిన బ్లాగుల ఆరెసెస్ ఫీడ్లు ఆటోమేటిగ్గా మీ గూగుల్ రీడర్ లో చేర్చబడతాయి. ఈ విడ్జెటు వల్ల ఉపయోగాలు మీరు మీ బ్లాగుని తరచూ చదివే వారి జాబితాని మీ బ్లాగులో ప్రదర్శించుకోవచ్చు. అలాగే మీరు తరచూ చదివే బ్లాగుల ఆరెసెస్ ఫీడ్లను మిస్సవకుండా గూగుల్ రీడరులో ఎంచగ్గా చదువుకోవచ్చు.

అంతా బానే ఉంది మరి సమస్య ఎక్కడ ఉంది ?

బ్లాగరులోకి లాగిన్ అవగానే మన “Followers” లంకెని మనకి చూపిస్తుంది మనకి. దాని మీద నొక్కితే మన “Followers” జాబితాని మనకి చూపిస్తుంది. వారి పక్కనే “Block” అనే ఒక బటన్ ని కూడా చూపిస్తుంది. దానిని నొక్కితే మన బ్లాగు “Followers” చిట్టాలో వారిని చూపించదు. ఇదీ సమంజసంగానే ఉంది. మరి సమస్య ఇంకెక్కడుంది ?

మీ బ్లాగు “Followers” ని మీరు మాత్రమే మేనేజ్ చేసుకోగలగాలి కదా ? బ్లాగరు వాడు ఎంత అందంగా తయారు చేసాడంటే ఎవరి బ్లాగుకి సంబంధించిన “Followers” ని అయినా చిన్న హాక్ ద్వారా మీరు మేనేజ్ చేసెయ్యవచ్చు.

“Followers” ని మేనేజ్ చేసే లంకె

http://www.blogger.com/manage-followers.g?blogID=xxxxxxxx

పై లంకెలో xxxxxxxx అనేది మీ బ్లాగు ఐడీ.
(మీరు సృష్టించే ప్రతీ బ్లాగుకీ ఒక ఐడీ ఉంటుంది. మీరు బ్లాగరులోకి లాగిన్ అయి అది మీరు తెలుసుకోవచ్చు.)

ఇప్పుడు మీరు పై లంకెని

http://www.blogger.com/manage-followers.g?blogID=xxxxxxxx+1

గా మారిస్తే ఎంచగ్గా పక్కవాడి బ్లాగుని మేనేజ్ చేసెయ్యచ్చు.

మరి అలా లంకె మార్చినప్పుడు మన సంకేత పదం (password) అడగాలి కదా. ఊహూ… ఏమీ అక్కర్లేకుండానే మీకు వారి సమాచారాన్నంతా చూపించేస్తుంది. దానిని మార్చడానికి అవకాశం కూడా కల్పిస్తుంది.

ఉదా:

ఈ కింది చిత్రం నా బ్లాగుకి సంబంధించినది.

నేను పైన చెప్పిన విధంగా లంకెని మారిస్తే వచ్చిన ఇంకొక తెలుగు బ్లాగరు యొక్క సమాచారం ఈ కింది చిత్రంలో చూడవచ్చు.

వారి “Followers” ని నేను “Block” చెయ్యగలిగాను. (నన్ను నేనే అనుకోండి)

మళ్ళీ “Unblock” చేసేసాననుకోండి.

ఇంతకు ముందు ఈ టపాలో నేను చెప్పిన “URL Rewriting” అనే పద్ధతికి పర్ఫెక్టు ఉదాహరణ ఇది.

అదన్నమాట సంగతి ! 🙂

ఇంతకీ ఈ సంగతి నేనెలా కనుగొన్నానంటారా ? టాప్ సీక్రెట్ 😉

ఆగస్ట్ 3, 2007

వెబ్ అప్లికేషన్లలో సెక్యూరిటీ సమస్యలు …

Posted in టెక్నాలజీ, వెబ్, సెక్యూరిటీ వద్ద 8:16 సా. ద్వారా Praveen Garlapati

ఇంతకు ముందు కొన్ని సార్లు నేను సెక్యూరిటీ గురించి చెప్పాను నా బ్లాగులో…

ఈ సారి వెబ్ అప్లికేషన్లు బ్రేక్ చెయ్యడానికి వాడే కొన్ని నాకు తెలిసిన పద్ధతుల గురించి చెబుతాను.

మొదట గుర్తు పెట్టుకోవాల్సింది మీ రహస్య పదం (Password) మీ బలహీనమయిన లంకె (weak link). అది గానీ ఎవరి చేతనయినా చిక్కిందంటే అంతే సంగతులు. అదీ కాక మనందరికీ చాలా చోట్ల ఒకే రహస్య పదం వాడే అలవాటుంటుంది కాబట్టి ఒక చోట గనక అది క్రాక్ చెయ్యబడితే మన అన్ని అకౌంట్లకూ ముప్పే.

సరే ఈ పాస్వర్డులని ఎలా బ్రేక్ చేస్తారు ?

మొదటిది బ్రూట్‌ఫోర్స్ అంటే బలం ఉపయోగించి బ్రేక్ చెయ్యడం. అంటే అన్ని కాంబినేషన్లనూ ఉపయోగించి మీ పాస్వర్డ్ని సంగ్రహించడం. ఇదెలా అంటే ఆల్ఫబెట్స్, నంబర్స్, స్పెషల్ కారెక్టర్స్ మొదలయిన వాటి కాంబినేషన్లు ఉపయోగించి రక రకాల పాస్వర్డులు ఉత్పన్నం చేసి ప్రయత్నిస్తారు. ఇది చాలా క్లిష్టతరం. ఎందుకంటే ఎన్నెన్నో రకాల కాంబినేషన్లు సాధ్యం. కానీ ఇప్పుడున్న కంప్యూటింగ్ పవరుకి దీని ద్వారా కూడా పాస్వర్డ్ తెలుసుకోవడం కష్టం కాదు. దీనిని అరికట్టడానికే కొన్ని వెబ్సైట్లు మూడు సార్లు తప్పు పాస్వర్డులు ఇస్తే అకౌంట్ ని లాక్ చేసేస్తాయి.

రెండోది డిక్షనరీ అటాక్. అంటే డిక్షనరీ లో ఉండే పదాలతో ప్రయత్నించడం. చాలా మంది తమకు నచ్చిన నటీ నటుల పేర్లో, వస్తువుల పేర్లో, రంగుల పేర్లో, భార్యా, ప్రియురాలు మొదలయిన పేర్లో ఉపయోగిస్తారు పాస్వర్డులుగా. లేదా కార్టూన్ కారెక్టర్లు, తమకు నచ్చిన కార్లు మొదలయినవి కూడా. వీటన్నిటినీ డిక్షనరీ వర్డ్స్ అనుకుందాము. వీటి లిస్టు ఒకటి తయారు చెసి వాడితే ? అదే డిక్షనరీ అటాక్.

ఇవన్నీ ఒక ఎత్తయితే సింపుల్ గా నెట్వర్కు ని స్నిఫ్ చేసి ఇలాంటి విషయాలని లాగటం ఇంకో ఎత్తు. పాస్వర్డ్ ఎంత బలంగా పెట్టుకున్నా అది కానీ ఎంక్రిప్ట్ చెయ్యకుండా పంపబడిందనుకోండి సర్వర్ మీదకి దానిని మధ్యలో ఎవరయినా పట్టెయ్యచ్చు. పెద్ద వెబ్సైట్లన్నీ ఇలాంటి వాటికి జాగ్రత్తలు తీసుకుంటాయి అని మీరు అనుకుంటే పప్పులో కాలేసినట్టే. ఎన్నో వెబ్సైటులు వీటిని సరిగా చెయ్యవు. మీకు గనక నమ్మకం కలగకపోతే వైర్‌షార్క్, http headers లాంటి ఉపకరణాలు వాడి మీ కంప్యూటర్ లోంచి బయటకు పంపబడే డాటా ని గమనించండి. https వాడటం వల్ల కొంత వరకూ ఈ ముప్పుని తప్పించచ్చు కానీ దానికీ కొన్ని లిమిటేషన్లున్నాయి.

ఇక పాస్వర్డుల గురించి వదిలేస్తే

XSS: వెబ్ అప్లికేషన్లకి ఉండే ఇతర వలనరబిలిటీ XSS అంటే Cross Site Scripting అంటే మీకు హాని కలిగించేలా మీ వెబ్సైటులో కోడ్ ని ప్రవేశపెట్టడం. ఎక్కువగా ఇది జావాస్క్రిప్ట్ వల్ల సాధ్యమవుతుంది. ఉదాహరణకి సరయిన వాలిడేషన్లు గనక చెయ్యకపోతే మీ బ్రౌజర్ కుకీలు కూడా దొంగిలించటం సాధ్యమవుతుంది.

ఉదా: ఈ వల్నరబిలిటీ ఉన్న వెబ్సైటుకి వెళ్ళినప్పుడు మీరు URL Bar లో గనక టాగులు ఉపయోగించగలిగితే వాటి ద్వారా మీరు మీకు కావలసిన కుకీ సమాచారం దొంగిలించవచ్చు. ఎలా అంటే ఒక్కసారి document.cookie లాంటి మెథడ్లని జావాస్క్రిప్టులో ఉపయోగించి ఆ సమాచారాన్ని లాగవచ్చు.

SQL Injection: అన్ని వెబ్ అప్లికేషన్లలూ దాదాపు డాటాబేస్ ఉపయోగిస్తాయి. ఉదాహరణకి లాగిన్, సెర్చ్ ఏదయినా సరే. ఈ డాటా అంతా Database Query ల ద్వారా సంభాషించబడుతుంది. ఈ క్వేరీలను ఉపయోగించి మీకు కావలసిన సమాచారాన్ని రాబట్టుకునే పద్ధతినే SQL Injection అంటారు.

ఉదా: యూజర్నేం ఇస్తే వారి డీటెయిల్స్ చూపించే ఓ సెర్చ్ బాక్సుందనుకుందాము. సెర్చ్ బాక్స్ కోసం ఇలాంటి కోడ్ వాడారనుకోండి

select * from users where username like ‘$user’;

అప్పుడు మీరు సెర్చ్ బాక్సులో గనక ఇలా ఎంటర్ చేస్తే ఏమవుతుంది

‘; delete * from users;

మొత్తం యూజర్ల డాటా అంతా తొలగించబడుతుంది. ఇలా అనుకోని విధంగా Queries ని మార్చి మనకు చెందని డాటా ని రాబట్టడమో, లేదా తొలగించడమో చెయ్యడాన్నే SQL Injection అంటారు.


Session Hijacking:
వెబ్ అప్లికేషన్లలు మిమ్మల్ని గుర్తు పెట్టుకోవడానికి సెషన్లని వాడతాయి. దాంట్లో మీ నుంచి వచ్చే రిక్వెస్టులను గుర్తించడానికి Session ID లు వాడతారు. ఎవరయినా వాటిని గనక పట్టుకోగలిగితే మీ సెషన్ ని హైజాక్ చెయ్యచ్చన్నమాట. అంటే మీరు పంపించినట్టు సమాచారం పంపించచ్చన్నమాట.


Cookie Poisoning:
కుకీలలో ఉండే సమాచారాన్ని మార్చి హాని కలిగే సమాచారాన్ని ఉంచడం ఈ పద్ధతి. ఇది మీ సిస్టం లో కుకీ ఉంచేటప్పుడయినా జరగచ్చు, అంటే దారిలో దానిని మార్చి మీ సిస్టం లో ఆ మార్చిన కుకీ ని ఉంచవచ్చు. లేదా అప్పటికే మీ సిస్టం లో ఉన్న కుకీ ని మార్చే ప్రయత్నం కావచ్చు.

URL Rewriting: మీరు మామూలుగా చూస్తుంటారు URL లు కొన్ని ఇలా ఉంటాయి http://abc.com/id=123 . వీటిలో సమస్యేమిటి అంటే అందులో డాటా ని మార్చవచ్చు. ఉదాహరణకి ఇద్=123 బదులు నేను ఇద్=456 అని రాసి ప్రయత్నించవచ్చు. అప్పుడు నాకు ఇంకెవరిదన్నా డాటా రావచ్చు.

పైన చెప్పినవి నాకు తెలిసిన కొన్ని పద్ధతులు, ఇంకా ఎన్నో ఉన్నాయి. ఇన్నిటి మధ్య మనం హాయిగా బ్రౌజ్ చేసుకుంటున్నాము 🙂

ఏప్రిల్ 13, 2007

కంప్యూటరు/ఇంటర్నెట్ మీద సెక్యూరిటీ, ఎన్‌క్రిప్షన్ …

Posted in ఇంటర్నెట్, ఎన్‌క్రిప్షన్, కంప్యూటరు, టెక్నాలజీ, సెక్యూరిటీ వద్ద 8:35 సా. ద్వారా Praveen Garlapati

కంప్యూటరు మీద సెక్యూరిటీ ఎలా సాధ్యం ?

మొదట మీరు మీరని నిరూపించాలి, అది ఆథెంటికేషన్ తో సాధ్యం అంటే లాగిన్ లు, సీక్రెట్ కోడ్ వర్డులూ లాంటివి అన్నమాట. ఇక పోతే ఆథరైజేషన్, అంటే మీరు వాడాలనుకున్న ఫీచర్ కానీ ఫంక్షనాలిటీ కానీ వాడటానికి మీకు అనుమతి ఉందా అని. దీనికోసం మామూలుగా రోల్స్, ప్రివిలైజెస్ వంటివి వాడతారు.

ఇక మీ డాటా ని సెక్యూర్ చెయ్యడానికి క్రిప్టోగ్రఫీ, ఎన్‌క్రిప్షన్, డిజిటల్ సర్టిఫికెట్స్, లాంటివి వాడతారన్నమాట. ఎన్‌క్రిప్షన్ అంటే ఏమీ లేదు మనం మాట్లాడుకునే అంశాలు ఇతరులకి అర్థం కాకుండా ఉండటానికి వాటిని మామూలు గా clear text లో పంపించకుండా, దానిని తారు మారు చేసి లేదా అర్థం కాని పిచ్చి రాతలు గా పంపిస్తారు. మధ్యలో ఎవరికీ అర్థం కాకపోయినా అవతల పక్క ఉండే వారికి మాత్రం మాత్రం అర్థం అవుతుంది.

ఉదాహరణకి చెప్పుకుంటే ఇతరులకు తెలీకుండా మనం చిన్నప్పుడు మాట్లాడుకున్నామే “జ” భాష, “క” భాష అలాంటిదన్నమాట. ఆ భాష తెలియని వారికి అర్థం కాకపోయినా తెలిసిన వారికి అర్థం అవుతుంది.

ఇక పోతే క్రిప్టోగ్రఫీ లో ముఖ్యం గా రెండు రకాలు పబ్లిక్ కీ, ప్రైవేట్ కీ.

(కీ కి అనాలజీ చెప్పాలంటే నిజంగానే తాళం చెవి ఎలా పనిచేస్తుందో ఇదీ అలానే పని చేస్తుంది. ఎలాగంటే మీకొచ్చే డాటా కి ఒక తాళం వేసి ఉంది అనుకోండి, దానిని తీయడానికి మీ దగ్గరున్న కీ ఉపయోగించాలి.)

పబ్లిక్ కీ పద్ధతి ఎలాగంటే మీకు సంబందించిన ఒక కీ అందరికీ తెలిసేలా ఉంచబడుతుంది, ఇంకొకటి మీకొక్కరికే తెలిసుంటుంది. మీకెవరయినా మెసేజీ పంపించాలనుకుంటె దానిని ఆ పబ్లిక్ కీ తో ఎన్‌క్రిప్ట్ చేసి మీకు పంపిస్తారు. ఆ ఎన్‌క్రిప్ట్ చేసిన మెసేజీ మీ దగ్గరున్న కీ తో మాత్రమే తెరుచుకుంటుంది. (పబ్లిక్ కీ నే సిమ్మెట్రిక్ కీ క్రిప్టోగ్రఫీ అని అంటారు)

అదే ప్రైవేట్ కీ అయితే గనక ఇద్దరి దగ్గర ఉండే కీ ఒకటే. ఒక దానితో మెసేజీ ని ఎన్‌క్రిప్ట్ చేస్తే దానితో నే తెరుచుకుంటుంది అన్నమాట. (ప్రైవేట్ కీ నే అసిమ్మెట్రిక్ కీ క్రిప్టోగ్రఫీ అని అంటారు)

* ఇక్కడ గమనించ వలసిన అవసరం ఏమిటంటే ఈ ఎన్‌క్రిప్షన్ మొత్తం మాథ్స్, అల్గారిథంస్ ద్వారానే నడూస్తుంది. కాబట్టి మీరొక మంచి అల్గారిథం తయారు చెయ్యాలనుకుంటే వీటిలో పట్టు సాధించడం ముఖ్యం.

పబ్లిక్ కీ ఎన్‌క్రిప్షన్ ని ఉపయోగిస్తే ముందస్తుగా కీ ని మార్చుకోవలసిన అవసరం లేదు. అదే ప్రైవేట్ కీ ని ఉపయోగిస్తే మీరు ఆ కీ ని అవతల వ్యక్తికి అందే ఏర్పాటు చేసుకోవాలి.

మామూలుగా పబ్లిక్ కీ ని ఉపయోగించి ప్రైవేట్ కీ ని మార్చుకుంటారు. తరవాత ప్రైవేట్ కీ ని ఉపయోగించి ఎన్‌క్రిప్షన్ చేస్తారు. అదే కాక పబ్లిక్ కీ ని డిజిటల్ సిగ్నేచర్ గా కూడా ఉపయోగిస్తారు. మీరు మీ ప్రైవేట్ కీ తో ఒక మెసేజ్ ని ఎన్‌క్రిప్ట్ చేసి అవతల వ్యక్తికి పంపిస్తారు. ఆ వ్యక్తి కి ఎలాగూ మీ పబ్లిక్ కీ తెలుసు కాబట్టి దానితో మీ మెసేజీ ని తెరవగలుగుతాడు. దాంతో అతను వచ్చిన మెసేజీ మీ నుంచే వచ్చిందని అర్థం చేసుకోగలుగుతాడు.

ఈ పబ్లిక్, ప్రైవేట్ కీ ఎన్‌క్రిప్షన్ కోసం ఎన్నో అల్గారిథంస్ తయారు చెయ్యబడినవి. ఇందులో ముఖ్యంగా ప్రైం నంబర్స్ ని ఉపయోగిస్తారు. ఎంత పెద్ద ప్రైం నంబర్ ఉంటే అంత మంచిది అన్నమాట. అదే కాక స్ట్రాంగ్ ఎన్‌క్రిప్షన్ మీరు ఉపయోగించే కీ పొడవు మీద ఆధారపడి ఉంటుంది. ఎంత పొడవు ఉంటే అంత మంచిది అన్నమాట. (మామూలుగా 128, 256 బిట్ కీ లని వాడుతుంటారు ). అయితే ఇవన్నీ ఎంత బాగున్నా మీ అల్గారిథ్మ్ సరిగా లేకపోతే హుష్ కాకే.

అయితే ఇప్పుడు కంప్యూటింగ్ పవర్ ఇంత పెరిగిపోయిన తరవాత ఎంత కాంప్లికేటెడ్ అల్గారిథ్మ్ ని అయినా బ్రేక్ చెయ్యడం కొద్దిగా సులభం అయిపోయింది. క్రాకర్లు వీటిని క్రాక్ చెయ్యడానికి గ్రిడ్, పారలెల్ ప్రాసెసింగ్ వంటివి కూడా ఉపయోగిస్తుంటారు. అందుకనే క్రిప్టోగ్రఫీ లో ఎప్పటికప్పుడు కొత్త కొత్త విధానాలు కనిపెడుతుంటారు. వన్‌టైం పాడ్ వంటివి కూడా వాడుతుంటారు.

కానీ ఇందులో పెద్ద లోపం ఏమిటంటే కీ ని ఎంత రాండం గా తయారు చెయ్యలన్నా అది చివరికి ఏదో ఒక అల్గారిథ్మ్ మీద ఆధారపడవలసిందే గా. అది పట్టేస్తే అంతా వృధా. అందుకే ఎన్ని ఫాక్టర్లు ఉంచగలిగితే అన్ని ఈ అల్గారిథం లలో ఇమడ్చి దుర్భేధ్యంగా తయారు చెయ్యడానికి ప్రయత్నిస్తారు.

ఇక పోతే డిజిటల్ సర్టిఫికెట్లు. ఇవి మన సర్టిఫికెట్లు పని చేసినట్టే పని చేస్తాయి. కాకపోతే ఈ సర్టిఫికెట్ ఉపయోగం ఏమిటంటే ఇందులో మీకు సంబందించిన పబ్లిక్ కీ ఉంచవచ్చు. మీకెవరయినా సెక్యూర్డ్ గా మెసేజీలను పంపించాలనుకుంటే వారు మీ పబ్లిక్ కీ ని ఉపయోగించి దానిని ఎన్‌క్రిప్ట్ చేస్తారు, ఇక దానిని మీరు మాత్రమే డీక్రిప్ట్ చెయ్యగలరు మీ దగ్గరున్న రహస్య కీ తో. కానీ ఇందులో ఉన్న చిక్కు ఏమిటంటే ఎవరయినా మీరు అని చెప్పి వారి పబ్లిక్ కీ ని పెట్టి మెసేజీ పంపిస్తే ? మీకు రావలసిన మెసేజీలన్నీ వాళ్ళు చదవగలుగుతారు. అందుకనే ఆథరైజ్డ్ అథారటీలు ఉంటారు (వెరీసైన్ లాంటి వారు). వీరు మీకొచ్చిన సర్టిఫికెట్ ను సైన్ చేసి ఇది ఆథెంటికేటెడ్ అని చెబుతారు. కానీ దీనికోసం మీరు, మీ అవతల పక్క పార్టీ ఇద్దరూ ఈ ఆథరైజింగ్ ఏజెన్సీలను నమ్మవలసి ఉంటుంది.

ఇక ఇంత కష్టపడటమెందుకు అంటారా ? మంచితో పాటూ చెడూ వస్తుంది. అలాగే కంప్యూటర్లు, ఇంటర్నెట్ ఎంత మంచివయినా దాని మీద మనం సెక్యూర్డ్ కాని బిజినెస్ ట్రాన్సాక్షన్లు చేస్తే మీకు సంబందించిన రహస్య సమాచారం ఎవరన్న తెలుసుకునే ప్రమాదం ఉంది. ఉదాహరనకి మీ పాస్వర్డులు, క్రెడిట్ కార్డు నంబర్లూ మొదలయినవి. మరి వారి నుంచి తప్పించుకోవాలంటే ఎలా ? దానికి పరిష్కారమే ఎన్‌క్రిప్షన్, డిజిటల్ సర్టిఫికెట్లు మొదలయినవి.

ఇది అర్థం కావాలంటే నెట్వర్కింగ్ గురించి కొద్దిగా చెప్పుకోవాలి.

నెట్వర్కింగ్ పని చేసేది అంతా ప్రోటోకాల్స్ మీదే. ప్రోటోకాల్స్ ఎందుకంటే వివిధ రకాల సిస్టంస్ ఒక దానితో ఒకటి మాట్లాడుకోడానికి రూపొందించబడిన రూల్సన్నమాట.
ఉదాహరణకి మీరు ఒక కొత్త ప్రదేశానికి వెళ్ళారనుకోండి అక్కడ మాట్లాడే భాష, మీ భాష ఒకటే కాకపోతే మీరు సైగల ద్వారా మాట్లాడడానికి ప్రయత్నిస్తారు. ఎందుకంటే ఇద్దరూ సైగలు అర్థం చేసుకోగలరు కాబట్టి. అలాగే నెట్వర్క్ మీద రెండు వేర్వేరు పార్టీలు అర్థం చేసుకోవడానికి వీలుగా ఈ ప్రోటోకాల్స్ ని స్థాపించారు.
మొదట OSI తో మొదలయిన మోడల్ తరవాత TCP/IP తో replace చెయ్యబడింది. OSI లో ఏడు లేయర్స్ ఉన్నాయి. అప్లికేషన్, ప్రెజంటేషన్, సెషన్, ట్రాన్స్‌పోర్ట్, నెట్‌వర్క్, డాటాలింక్, ఫిజికల్. వీటిలో ఒక్కో లేయర్ కీ ఒక్కో ఫంక్షనాలిటీ ఉంది.
అలాగే TCP/IP మోడల్ లో ఉన్న లేయర్లు అప్లికేషన్, ట్రాన్స్‌పోర్ట్, ఇంటర్నెట్వర్కింగ్, నెట్వర్క్ ఆక్సెస్.

మనం బ్రౌజర్ ద్వారా వెబ్ కోసం ఉపయోగించే ప్రోటోకాల్ http. (hyper text transfer protocol). ఇక నేను చెప్పలనుకున్నది https అనే ప్రోటోకాల్ గురించి. మామూలు http అనే ప్రోటోకాల్ సెక్యూర్ కాదన్నమాట. అంటే మనం నెట్ పై చేసే సంభాషణని ఎవరయినా స్నిఫ్ఫర్ లతో చూడగలుగుతారన్నమాట. (స్నిఫ్ఫర్ అంటే http పాకెట్లను పసిగట్టే ఒక పరికరం అనుకోండి). మరి అలాంటప్పుడు మీరు గనక బిజినెస్ ట్రాన్సాక్షన్స్ చేస్తే మరి మీ క్రెడిట్ కార్డులు, మీ పాస్వర్డులూ పసిగట్టడం తేలిక కదా. అందుకనే https అనబడే ఒక ప్రోటొకాల్ ఉంది.(http secured, SSL). దీనిని ఉపయోగించడం వల్ల మన ట్రాన్సాక్షన్లన్నీ సెక్యూర్డ్ గా ఉంటాయన్నమాట.

ఉదాహరనకి మీరు పే పాల్, మీ బ్యాంకు ఫైనాన్షియల్ ట్రాన్సాక్షన్లు చేసినా అవన్నీ పైన చెప్పినవి ఉపయోగించుకుంటాయన్నమాట. ఉపయోగించుకోవట్లేదంటే మీ డబ్బులు ఇక నాకు ఇవ్వచ్చు 🙂

ఇన్ని చేసినా మనం మన డాటా సెక్యూర్ అని అనుకోడానికి వీల్లేదు. రోజూ చూస్తూనే ఉంటాము. విండోస్ లో, ఇంటర్నెట్ ఎక్స్‌ప్లోరర్ లో, ఫైర్ ఫాక్స్ లో, జావాస్క్రిప్ట్ లలో ఉన్న వల్నరబిలిటీస్ వల్ల మన మెషీన్లు, సమాచారం క్రాకర్ల బారిన పడుతూనే ఉంటుంది. (బఫర్ ఓవర్ఫ్లో, క్రాస్ సైట్ స్క్రిప్టింగ్ లాంటి పద్ధతులు ఉపయోగిస్తుంటారు). నాకు తెలిసిన పద్ధతుల గురించి తీరిగ్గా మరో పోస్టు రాస్తా.