എന്‍ക്രിപ്ഷന്‍ ലളിതമായി – രാഷ്ട്രീയവും സാങ്കേതികവും

പ്രവീൺ അരിമ്പ്രത്തൊടിയിൽ under രാഷ്ട്രീയം on 24 മെയ്, 2014

എന്‍ക്രിപ്ഷന്‍ (ക്രിപ്റ്റോഗ്രഫി, ക്രിപ്റ്റോ) ഇന്നത്തെ സാഹചര്യത്തില്‍ ആശയവിനിമയത്തിന്റെ സ്വകാര്യത ഉറപ്പുവരുത്താന്‍ നമുക്കത്യാവശ്യമാണു്. അമേരിക്കയടക്കമുള്ള പല ഭരണകൂടങ്ങളും ഗൂഗിള്‍,ഫേസ്‌ബുക്ക് തുടങ്ങിയ കുത്തക കമ്പനികളും ലോകത്തെ കിട്ടാവുന്ന എല്ലാവരുടേയും സ്വകാര്യ വിവരങ്ങള്‍ ശേഖരിക്കുന്നുവെന്നു് ഇന്നു് നമുക്കു് എഡ്വേര്‍ഡ് സ്നോഡന്റെ വെളിപ്പെടുത്തലുകളോടെ ഉറപ്പിച്ചു് പറയാന്‍കഴിയും. ഭരണകൂടങ്ങള്‍ക്കും ജനങ്ങളെ ബ്ലാക്ക്മെയില്‍ ചെയ്യാനും നിയന്ത്രിക്കാനുമാണു് ഈ വിവരങ്ങള്‍ ആവശ്യം. നെല്‍സണ്‍ മണ്ടേല, മാര്‍ട്ടിന്‍ ലൂഥര്‍ കിങ്, മഹാത്മാ ഗാന്ധി തുടങ്ങി ഇന്നു് നാം ബഹുമാനിക്കുന്ന പലരേയും അന്നത്തെ ഭരണകൂടങ്ങള്‍ അവരുടെ അധികാരത്തിനു് വെല്ലുവിളിയായി കാണുകയും അടിച്ചമര്‍ത്താന്‍ ശ്രമിക്കുകയും ചെയ്തു. നെല്‍സണ്‍ മണ്ടേലയെ അമേരിക്ക ഭീകരവാദികളുടെ പട്ടികയില്‍ നിന്നും നീക്കം ചെയ്തതു് ജോര്‍ജ്ജ് ബൂഷ് ഭരിക്കുന്ന സമയത്താണു്. മഹാത്മാ ഗാന്ധിയെ രാഷ്ടവിരുദ്ധ കുറ്റം ചുമത്തിയാണു് ജയിലിലടച്ചതു്. മാര്‍ട്ടിന്‍ ലൂഥര്‍ കിങിനെ അവരുടെ ചാരസംഘടന തീവ്രവാദിയായി നിരീക്ഷിച്ചിരുന്നു. അടുത്ത കാലത്തു് തന്നെ അസീം ത്രിവേദിയെ അഴിമതിക്കെതിരായ കാര്‍ട്ടൂണുകള്‍ വരച്ചതിനു് ജയിലടച്ചിരുന്നു (അദ്ദേഹത്തെ അറസ്റ്റ് ചെയ്ത സമയത്തു്സാക്ഷിയായി ഒപ്പിട്ടതു് പോലീസ് സ്റ്റേഷനില്‍ വിവരമന്വേഷിക്കാന്‍ പോയ ലേഖകനായിരുന്നു. അങ്ങനെ അദ്ദേഹത്തെ അടുത്തറിയാന്‍ അവസരം കിട്ടി). അതുകൊണ്ടു് തന്നെ തീവ്രവാദികളെ പിടിക്കാനാണു്എല്ലാവരേയും നിരീക്ഷിക്കുന്നതു് എന്നു് നിങ്ങള്‍ ഇപ്പോഴും വിശ്വസിക്കുന്നതെങ്കില്‍ നിങ്ങളോടു്ചരിത്രം പഠിക്കാന്‍ മാത്രമാണു് എനിക്കോര്‍മ്മിപ്പിക്കാനുള്ളതു്. ഗൂഗിള്‍, ഫേസ്‌ബുക്ക് തുടങ്ങിയകുത്തക കമ്പനികള്‍ക്കു് താത്പര്യം നമ്മുടെ സ്വകാര്യ വിവരങ്ങള്‍ വിറ്റു് കാശാക്കുന്നതിലാണു്.

സ്വകാര്യതയുടെ ആവശ്യത്തെപ്പറ്റിയുള്ള ആമുഖത്തോടെ എന്‍ക്രിപ്ഷന്‍ വഴി എങ്ങനെ സ്വകാര്യത ഉറപ്പാക്കാം എന്നു് നോക്കാം. എന്‍ക്രിപ്ഷന്‍ എന്നാല്‍ നമ്മളുദ്ദേശിക്കുന്ന ആളുകള്‍ക്കു് മാത്രം മനസ്സിലാകുന്ന തരത്തിലുള്ള കോഡ് ഭാഷ ഉപയോഗിക്കുക എന്നതാണു്. ചൊറിച്ചു് മല്ലു് പോലെ പ്രാദേശികമായി ഇതിന്റെ പല വകഭേദങ്ങളും നിങ്ങള്‍ക്കു് പരിചയമുണ്ടാകുമല്ലോ. എറ്റവും എളുപ്പത്തില്‍ ചെയ്യാവുന്ന എന്ക്രിപ്ഷന്‍ ഒരു രഹസ്യവാക്കുപയോഗിച്ച് (passphrase/password)വിവരത്തെ കോഡ് ഭാഷയിലേക്കു് മാറ്റുക എന്നതാണു്. ഇതിനു് പല അല്‍ഗോരിതങ്ങളും ഉപയോഗിക്കാം. ആ രഹസ്യവാക്ക് അറിയാവുന്ന ആര്‍ക്കും അതേ അല്‍ഗേരിതം ഉപയോഗിച്ചു് യഥാര്‍ത്ഥ സന്ദേശം വായിച്ചെടുക്കാം. ഇതിനുള്ള പ്രധാന പ്രശ്നം എങ്ങനെ രഹസ്യവാക്ക് കൈമാറും എന്നതാണു്. അതുകൊണ്ടു്തന്നെ അടയ്ക്കാനും തുറക്കാനും രണ്ടു് വ്യത്യസ്ത ചാവികളുപയോഗിക്കുന്ന (key pair) എന്ക്രിപ്ഷനാണു്(asymmetric cryptography) ഇന്നു് വ്യാപകമായി ഉപയോഗിക്കുന്നതു്. ഇതിനായി രണ്ട് ചാവികളുണ്ടാക്കി ഒരെണ്ണം സ്വന്തം കയ്യിലും (private key) മറ്റേതു് എല്ലാവര്‍ക്കും കിട്ടുന്നതരത്തിലും (public key) വയ്ക്കുന്നു. ഒരു ചാവി കൊണ്ട് പൂട്ടിയ വിവരം (encrypted) മറ്റേ ചാവി കൊണ്ടേ തുറക്കാനാവൂ (decrypt). അതു് പോലെ തന്നെ ഒപ്പ് ശരിയാണോ എന്നു് പരിശോധിക്കാനും ഈ സംവിധാനം ഉറപ്പാക്കാം. നിങ്ങള്‍ കൈയില്‍ വച്ച ചാവി ഉപയോഗിച്ചു് ഒപ്പിടുന്ന (signed)വിവരങ്ങള്‍ നിങ്ങള്‍ തന്നെയാണയച്ചതെന്നു് ഏതൊരാള്‍ക്കും നിങ്ങള്‍ പങ്കു് വെച്ച ചാവി (publickey) ഉപയോഗിച്ചു് ഒത്തു് നോക്കാവുന്നതാണു്.

ഏതൊരാള്‍ക്കും ഇങ്ങനെ ഏതു് പേരിലും രണ്ടു് ചാവികളുണ്ടാക്കാം എന്നിരിക്കേ വേറൊരാള്‍ക്കു് നിങ്ങളുടെ പേരില്‍ ചാവികളുണ്ടാക്കിക്കൂടെ? ഇതിനെ മറികടക്കാനായി അന്യോന്യം ചാവികളില്‍തന്നെ ഒപ്പിടാവുന്നതാണു് (key signing). ഓരോ ഇണച്ചാവികള്‍ക്കും (key pair) അനന്യമായ ഒരുതിരിച്ചറിയല്‍ നമ്പര്‍ (unique key id) കാണും. ഉദാഹരണത്തിനു് എന്റെ ജിപിജി കീയുടെ(GNU Privacy Guard എന്ന സോഫ്റ്റ്‌വെയര്‍ ഉപയോഗിച്ച് Pretty Good Privacy എന്നരീതിയിലുള്ള കീ ആണിതു്. SSH, SSL തുടങ്ങിയ രീതികള്‍ക്കും ഇതുപോലെ തന്നെ ചാവികളുണ്ടാക്കാം)ഐഡി 0x4512c22a എന്നതാണു്.

എന്റെ പൊതുചാവി http://pgp.mit.edu/pks/lookup?op=vindex&search=0xCE1F9C674512C22A എന്ന വിലാസത്തില്‍ ലഭ്യമാണു് (pgp.mit.edu പോലുള്ള public key server കളില്‍ നമ്മുടെ പൊതുചാവി ചേര്‍ക്കാവുന്നതാണു്. നമ്മുടെ കീ ഐഡി കൊടുത്താല്‍ ആര്‍ക്കും നമ്മുടെ പൊതു കീ അവിടെനിന്നും എടുക്കാവുന്നതാണു്). ഈ ചാവിയില്‍ അനീഷും ഒപ്പുവച്ചിട്ടുണ്ടു്. ഇനി സൂരജിനു് അനീഷിന്റെ പേരിലുള്ള ഈ ചാവി അനീഷ് തന്നെയുപയോഗിക്കുന്നതാണെന്നു് ഉറപ്പാക്കിയിട്ടുണ്ടെങ്കില്‍ എന്റെചാവിയും ഞാന്‍ തന്നെയാണുപയോഗിക്കുന്നതു് എന്നുറപ്പാക്കാം. ഇങ്ങനെ എത്രയും കൂടുതല്‍ പേര്‍ ഒരുചാവിയില്‍ ഒപ്പുവച്ചിട്ടുണ്ടോ അത്രയും ആ ചാവിയുടെ വിശ്വാസ്യത കൂടും. ഇതിനെ Web of Trustഎന്നു് വിളിക്കുന്നു. ഉദാഹരണത്തിനു് ഈ ഈമെയില്‍ ഞാന്‍ തന്നെയാണു് (എന്റേ പേരു് വച്ചു്വേറാരെങ്കിലുമല്ല) എന്നുറപ്പാക്കാന്‍ ഈ മെയില്‍ ഞാന്‍ എന്റെ ജിപിജി ചാവി വച്ച്ഒപ്പിട്ടാണയക്കുന്നതു്. തണ്ടര്‍ബേഡിലെ എനിഗ്‌മെയില്‍ പോലുള്ള എക്സ്റ്റന്‍ഷന്‍ വച്ചു് ഇതു്ഞാനയച്ചതിനു് ശേഷം വേറാരും മാറ്റിയിട്ടില്ല എന്നും ഉറപ്പാക്കാം.

https സംവിധാനത്തിലാവട്ടെ ഇങ്ങനെ ഒരു വെബ്‌സൈറ്റ് ഉപയോഗിക്കുന്ന കീ ആ വെബ്‌സൈറ്റിന്റെ ഉടമസ്ഥരുടേതു് തന്നെയാണു് എന്നുറപ്പാക്കുന്നതു് വെരിസൈന്‍ പോലുള്ള സിഎ (സെര്‍ട്ടിഫിക്കേഷന്‍അതോറിറ്റി) എന്ന പേരിലറിയപ്പെടുന്ന കമ്പനികളാണു്. ഇവര്‍ ഓരോ വൈബ്‌സൈറ്റിന്റേയും പൊതുചാവിയില്‍ (public key) ഒപ്പുവയ്ക്കും. നമ്മള്‍ https വഴി ഒരു വെബ്‌സൈറ്റ്സന്ദര്‍ശിക്കുമ്പോള്‍ ആ വെബ്‌സൈറ്റ് ഇതുോപോലൊരു കമ്പനി ഒപ്പുവച്ചിട്ടുള്ള അവരുടെ പൊതു കീ ഒരുസെര്‍ട്ടിഫിക്കറ്റായി നമുക്കു് തരും. നമ്മുടെ ബ്രൈസറുകളിലും കമ്പ്യൂട്ടറുകളിലും ഇങ്ങനെയുള്ള കമ്പനികളുടെ പൊതുചാവികളുണ്ടാവും. അവ ഉപയോഗിച്ചു് ഒപ്പു് ശരിയാണോ എന്നു് പരിശോധിക്കും.ശരിയാണെങ്കില്‍ പച്ച പൂട്ടിന്റെ പടം വൈബ്‌സൈറ്റ് വിലാസത്തിന്റെ ഇടതുവശത്തായി കാണിക്കും. നമ്മളുദ്ദേശിക്കുന്ന സൈറ്റുമായി മറ്റാരും അറിയാത്ത രീതിയില്‍ സ്വകാര്യമായാണു് വിവരങ്ങള്‍കൈമാറുന്നതെന്നു് നമുക്കു് ഇങ്ങനെ ഉറപ്പാക്കാം.

എന്നാല്‍ നമ്മുടെ വിവരം നമ്മള്‍ ഉദ്ദേശിക്കുന്ന സേവനങ്ങളുടെ കയ്യില്‍ മാത്രമേ എത്തുന്നുള്ളൂ എന്നു് മാത്രമേ നമുക്കുറപ്പാക്കാനാകൂ. ആ വിവരം അവര്‍ പിന്നീടെന്തു് ചെയ്യുന്നു എന്നു് നമുക്കു് അവര്‍ പറയുന്നതു് വിശ്വസിക്കുക മാത്രമേ നിവൃത്തിയുള്ളൂ. ഇത് https ന്റെ കാര്യം. ഇനി നമുക്ക് ഗൂഗിള്‍,ഫേസ്‌ബുക്ക് തുടങ്ങിയ ഇടനിലക്കാര്‍ക്കും മനസ്സിലാവാത്ത രീതിയില്‍ എങ്ങനെ എന്‍ക്രിപ്റ്റ് ചെയ്യാംഎന്നു് നോക്കാം. ഇതിനു് end-to-end എന്‍ക്രിപ്ഷന്‍ എന്നു് പറയും. ഉദാഹരണത്തിനു് ഞാന്‍ അനീഷിനൊരു മെയിലയയ്ക്കുകയാണെങ്കില്‍ എനിക്കു് അനീഷിന്റെ പൊതുചാവി ഉപയോഗിച്ചു് എന്‍ക്രിപ്റ്റ് ചെയ്താല്‍ അനീഷിനല്ലാതെ പിന്നെ ഗൂഗിളിനും, അമേരിക്കന്‍ ഭരണകൂടത്തിനും മറ്റാര്‍ക്കുംവായിക്കാന്‍ സാധിക്കുകയില്ല. (ബ്രൂട്ട് ഫോഴ്സ് വച്ചു് സാധ്യതയുള്ള എല്ലാ ചാവികളും വച്ചു് തുറക്കാന്‍ശ്രമിച്ചാലും ഇന്നത്തെ കമ്പ്യൂട്ടറുകളുടെ ശക്തി വച്ചു് എന്‍എസ്എയ്ക്കു് പോലും ഇതു് ഡിക്രിപ്റ്റ് ചെയ്യാന്‍വര്‍ഷങ്ങളെടുക്കും). എനിഗ്‌മെയില്‍ എന്ന തണ്ടര്‍ബേഡ് എക്സ്റ്റന്‍ഷന്‍ വച്ചും മെയില്‍വലോപ്പ് എന്നക്രോം, ഫയര്‍ഫോക്സ് ആഡ്ഓണുകള്‍ വച്ചും ഇതു് എളുപ്പത്തില്‍ ചെയ്യാവുന്നതാണു്. നിങ്ങള്‍ ഇന്നു് മുതല്‍അയക്കുന്ന ഓരോ മെയിലും ജിപിജി ഉപയോഗിച്ചു് ഡിജിറ്റല്‍ ഒപ്പോടെ അയയ്ക്കാന്‍ ശ്രമിക്കുമല്ലോ. ഇതിനു് എന്തെങ്കിലും പ്രയാസങ്ങള്‍ നേരിടുകയാണെക്കില്‍ അറിയിക്കുക, ഞാന്‍ സഹായിക്കാം.

ചാറ്റ് സെക്യുവര്‍, കോണ്‍വര്‍സേഷന്‍സ്, ക്സാബര്‍ തുടങ്ങിയ ആന്‍ഡ്രോയിഡ് അപ്ലിക്കേഷനുകള്‍ഉപയോഗിച്ചാല്‍ ഗൂഗിള്‍ ടോക്ക്, ഫേസ്‌ബുക്ക് ചാറ്റ് തുടങ്ങിയവയില്‍ (മറ്റേതൊരു ജാബര്‍സേവനത്തിലും ഇതു് സാധ്യമാണു്) OTR (Off The Record) എന്ന രീതിയുപയോഗിച്ചു് ഇങ്ങനെസംസാരിക്കാവുന്നതാണു്. ഇതു് പരീക്ഷിക്കണമെങ്കില്‍ praveen @ yax.im എന്ന ജാബര്‍ ഐഡിയില്‍എന്നെ ബന്ധപ്പെടാവുന്നതാണു്.

വാട്ട്സ്ആപ്പ് ഉപയോഗിക്കുന്നവര്‍ ടെക്സ്റ്റ് സെക്യുവര്‍ എന്ന സോഫ്റ്റ്‌വെയറിലേക്കു് മാറിയാല്‍ മറ്റാരും ഒളിഞ്ഞു് കേള്‍ക്കാതെ സംസാരിക്കാവുന്നതാണു്.

മനസ്സിലാത്ത കാര്യങ്ങളുണ്ടെങ്കില്‍ സംശയിക്കാതെ കമന്റ് ബോക്സില്‍ ചോദിക്കുമല്ലോ. ഇത്തിരിസാങ്കേതികമാണെങ്കിലും നമ്മുടെ ജനാധിപത്യാവകാശങ്ങള്‍ കാത്തു് സൂക്ഷിക്കാന്‍ പ്രായോഗികമായി ഈവഴിയേ നമുക്കു് മുന്നിലുള്ളൂ.

Note: മോഡിയെ വിമര്‍ശിച്ചതിനും ബാല്‍ താക്കറെയുടെ മരണത്തെപ്പറ്റയുള്ള അഭിപ്രായംരേഖപ്പെടുത്തിയതിനും പിണറായി വിജയന്റെ വീടിന്റേതെന്നു് പറഞ്ഞു് ചിത്രം പങ്കു് വെച്ചതിനുംജയിലില്‍ പോയ സാഹചര്യം ഒഴിവാക്കാന്‍ വേണ്ടതു് anonymity ആണു്. അതു് privacy യില്‍ നിന്നുംവ്യത്യസ്തമായ വിഷയമാണു്. tor പോലുള്ള സോഫ്റ്റ്‌വെയറുകളും pseudonyms ഉപയോഗിക്കാന്‍അനുവദിക്കുന്ന ഡയാസ്പൊറ പോലുള്ള സേവനങ്ങളും അവിടെയാണു് പ്രസക്തമാകുന്നതു്.

anonymity എന്നാല്‍ നമ്മുടെ ഐഡന്റിറ്റി വെളിപ്പെടുത്താതെ കാര്യങ്ങള്‍ പറയാനുള്ള വഴിയാണു്.മോഡി ഭരണത്തിനു് ശേഷം ഈ ആവശ്യം കൂടുതല്‍ പേര്‍ക്കും വരാവുന്നതാണു്. കാരണം സ്വാമിസന്ദീപാനന്ദഗിരിക്ക് തല്ലു് കിട്ടിയതു് പോലെ അഭിപ്രായങ്ങളെ കൈക്കരുത്തു് കൊണ്ടു് മറുപടി പറയുന്ന സാഹചര്യമാണു് ഇപ്പോള്‍ നിലവിലുള്ളതു്.

privacy എന്നാല്‍ നമ്മള്‍ ഉദ്ദേശിക്കുന്ന ആള്‍ മാത്രം കാണുന്ന രീതിയിലുള്ള സംവിധാനമാണു്.ഞാന്‍ എന്റെ കൂട്ടകാരിയോടു് സംസാരിക്കുന്നതു് (രാഷ്ടീയമായാലും സല്ലാപമായാലും) സുക്കന്‍ബര്‍ഗോ,മോഡിയോ ഒബാമയോ കേള്‍ക്കാന്‍ എനിയ്ക്കു് താത്പര്യമില്ല. നമ്മുടെ ഭരണഘടനയുടെ ശില്പികള്‍ നമുക്കു് ഉറപ്പു് തന്നിട്ടുള്ള അവകാശമാണതു്. എത്രയോ ആളുകള്‍ സ്വന്തം ജിവന്‍ കൊടുത്തും നമുക്കു് തന്നെ സ്വാതന്ത്രയമാണതു്. നമ്മുടെ അടുത്ത തലമുറകള്‍ക്കും ഈ സ്വാതന്ത്ര്യങ്ങള്‍ പകര്‍ന്നു കൊടുക്കേണ്ടതു് നമ്മുടെ ഓരോരുത്തരുടേയും കടമയാണു്.