ఏప్రిల్ 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). దీనిని ఉపయోగించడం వల్ల మన ట్రాన్సాక్షన్లన్నీ సెక్యూర్డ్ గా ఉంటాయన్నమాట.

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

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

ప్రకటనలు