Tuesday, October 04, 2016

End to End Encryption - a detailed article

വാട്ട്സ് ആപ്പും,അലോയും, ജി.മെയിലും, ഫെയിസ്ബുക്കുമൊക്കെ എങ്ങനെയാണ് എന്റ് ടു എന്റ് എൻസ്ക്രിപ്റ്റ് (E 2 EE) ചെയ്യുക.

Question by   
Abijith Ka


Answered by 


എൻക്രിപ്ഷൻ എന്തിന് ഉപയോഗിക്കുന്നു എന്ന് ആദ്യം മനസ്സിലാക്കണം. അതായത് രണ്ടുപേർക്കിടയിലുള്ള ആശയ വിനിമയം ഇടയ്ക്ക് ഇരിയ്ക്കുന്ന ഒരാൾക്ക് മനസ്സിലാകരുത്. അതായത് രണ്ടു മലയാളികൾ മലയാളത്തിൽ സംസാരിയ്ക്കുമ്പോൾ ഇടയിൽ നിൽക്കുന്ന അല്ലെങ്കിൽ അത് കേട്ട്കൊണ്ടിരിയ്ക്കുന്ന ഒരു ബംഗാളിയ്ക്ക് അത് മനസ്സിലാക്കാൻ കഴിയില്ലല്ലോ. അതും ഒരു തരത്തിൽ പറഞ്ഞാൽ ഒരു തരം എൻക്റിപ്പ്ഷൻ തന്നെ. പക്ഷേ ഇപ്പറഞ്ഞ സംഭാഷണം പ്രസ്തുത ബംഗാളി റെക്കോഡ് ചെയ്യുകയും മലയാളം പഠിച്ചതിനു ശേഷം അത് വീണ്ടും കേട്ട് എന്താണെന്ന് മനസ്സിലാക്കുകയും ചെയ്താലോ? മാത്രവുമല്ല ബംഗാളിയ്ക്ക് മലയാളം അറിയുമോ എന്ന് ഉറപ്പില്ലാത്തതിനാൽ കണ്ണടച്ച് ഇങ്ങനെ ഒരു എൻക്രിപ്ഷൻ ഉപയോഗിക്കുന്നത് സുരക്ഷിതമല്ല. അതായത് നമ്മുടെ ആവശ്യം രണ്ടുപേർക്കിടയിലുള്ല ആശയ വിനിമയം മൂന്നാമതൊരാൾക്ക് ലഭിച്ചാലും അയാൾക്ക് അതിൽ നിന്നും യാതൊരു വിധത്തിലുള്ള വിവരങ്ങളും ലഭിയ്ക്കരുത്. ഇതാണ് എൻക്രിപ്ഷന്റെ പ്രധാന ഉദ്ദേശം.

കമ്പ്യൂട്ടറുകളും ഇന്റർനെറ്റുമെല്ലാം വരുന്നതിനും മുൻപേ എൻക്രിപ്ഷൻ നിലനിന്നിരുന്നു. അതിനൊരു ലളിതമായ ഉദാഹരണം പറയാം. കത്തുകൾ വഴിയുള്ള ആശയവിനിമയം മാത്രം സാദ്ധ്യമായിരുന്ന കാലത്തും വളരെ ഫലപ്രദമായി എൻക്രിപ്ഷൻ വിദ്യകൾ ഉപയോഗപ്പെടുത്തിയിരുന്നു. ഇതിനായി സന്ദേശങ്ങൾ അയയ്ക്കുന്നവർക്കും സ്വീകരിയ്ക്കുന്നവർക്കും മാത്രം അറിയുന്ന രീതിയിൽ പ്രത്യേക കോഡ് ഭാഷകൾ രൂപം നൽകിയിരുന്നു. അതായത് ലളിതമായിപ്പറഞ്ഞാൽ ഓരോ‌അക്ഷരങ്ങ‌ൾക്കും അക്കങ്ങൾക്കും പകരമായി മറ്റ് അക്ഷരങ്ങളും ചിഹ്നങ്ങളും ഉപയോഗിക്കുന്നു. ഇത്തരത്തിൽ രണ്ടു കക്ഷികൾക്കും മാത്രം ഗ്രഹ്യമായ രഹസ്യ കോഡ് നിയമാവലിയുടെ അടിസ്ഥാനത്തിൽ സന്ദേശങ്ങളെ എൻക്രിപ്റ്റ് ചെയ്യുകയും ഡീക്രിപ്റ്റ് ചെയ്യുകയും ചെയ്യുന്നു. അതിനാൽ ഇത്തരത്തിൽ എൻക്രിപ്റ്റ് ചെയ്യപ്പെട്ട സന്ദേശങ്ങൾ ലഭിയ്ക്കുന്ന ഒരു മൂന്നാം കക്ഷിയ്ക്ക് അതിൽ നിന്നും പ്രത്യേകിച്ച് വിവരങ്ങളൊന്നും ലഭ്യമാവുകയില്ല. പക്ഷേ എൻക്രിപ്റ്റ് ചെയ്യാനുപയോഗിച്ച രഹസ്യ നിയമാവലി ലഭിച്ചാൽ അതുപയോഗിച്ച് ഡീകോഡ് ചെയ്യാൻ കഴിയുമെന്ന് പ്രത്യേകം പറയേണ്ടതില്ലല്ലോ. അതിനാൽ ഈ രഹസ്യ നിയമാവലിയുടെ സുരക്ഷിതത്വം വളരെ പ്രധാനമാണ്. പണ്ട് ഒരു മൂന്നാം കക്ഷിയെ ഏൽപ്പിയ്ക്കാതെ ഈ രഹസ്യ കീ നേരിട്ട് കൈമാറുന്ന രീതിയാണ് ഏറ്റവും സുരക്ഷിതം. അയയ്കുന്ന ആളും സ്വീകരിയ്ക്കുന്ന ആളും ഒരേ കീ ഉപയോഗിയ്ക്കുന്ന സാങ്കേതിക വിദ്യ സിമ്മട്രിക് കീ ക്രിപ്റ്റോഗ്രാഫി എന്ന പേരിൽ അറിയപ്പെടുന്നു . ഇതിന്റെ പ്രധാന പ്രശ്നം എൻക്രിപ്റ്റ് ചെയ്യാനുപയോഗിയ്ക്കുന്ന കീ രഹസ്യ സ്വഭാവം നഷ്ടപ്പെടാതെ സുരക്ഷിതമായി കൈമാറുന്നതും കാലോചിതമായി അവ പുതുക്കുന്നതുമാണ്. ഒരു ദൂതനിലൂടെയോ പൊതു മാദ്ധ്യമങ്ങളിലൂടെയോ‌ ഇത്തരം കീകൾ കൈമാറുന്നത് ഒട്ടും തന്നെ സുരക്ഷിതമല്ലെന്ന് പറയേണ്ടതില്ലല്ലോ


സിമ്മട്രിക് കീ ക്രിപ്റ്റോഗ്രാഫിയിൽ നിന്നും വളരെ വ്യത്യസ്തമായതും കൂടുതൽ കാര്യക്ഷമമായതുമായ ഒന്നാണ് അസിമട്രിക് കീ ക്രിപ്റ്റോഗ്രാഫി. ഇതനുസരിച്ച് പ്രവർത്തിക്കുന്ന ക്രിപ്റ്റോഗ്രാഫിക് സങ്കേതമാണ് പബ്ലിക് കീ ഇൻഫ്രാസ്ട്രക്ചർ അഥവ പി. കെ ഐ. ഇതിൽ സന്ദേശങ്ങൾ എൻക്രിപ്റ്റ് ചെയ്യാനുപയോഗിക്കുന്ന കീയെ രണ്ടായി മുറിച്ച് പബ്ലിക് കീ എന്നും പ്രൈവറ്റ് കീ എന്നും വിളിയ്ക്കുന്നു. ഇവിടെ പബ്ലിക് കീയും പ്രൈവറ്റ് കീയും ഒരു ഗണിത സമവാക്യത്തിലൂടെ പരസ്പരം ബന്ധപ്പെട്ടിരിക്കുന്നു. ഒരു ഉദാഹരണത്തിലൂടെ വ്യക്തമാക്കാം. പബ്ലിക് കീ ഇൻഫ്രാസ്റ്റ്രക്ചർ ഉപയോഗിയ്ക്കുന്നവരുടെ കയ്യിൽ രണ്ട് കീകൾ ഉണ്ടായിരിക്കും ഒരു പ്രൈവറ്റ് കീ (ഇത് രഹസ്യമാണ്) രണ്ടാമത്തേത് പബ്ലിക് കീ (ഇത് രഹസ്യ സ്വഭാവമില്ലാത്തതും പരസ്യവുമാണ്). ഇതിൽ പബ്ലിക് കീ എൻക്രിപ്റ്റ് ചെയ്യാനും പ്രൈവറ്റ് കീ ഡീക്രിപ്റ്റ് ചെയ്യാനും ഉപയോഗിയ്ക്കുന്നു. ഇവിടെ ഒരാൾ മറ്റൊരാൾക്ക് രഹസ്യ സന്ദേശം അയയ്കുവാൻ ആഗ്രഹിയ്ക്കുന്നു എങ്കിൽ സ്വീകരിയ്ക്കേണ്ട ആളുടെ പബ്ലിക് കീ ഉപയോഗിച്ച് സന്ദേശത്തെ എൻക്രിപ്റ്റ് ചെയ്യുന്നു. ഇത്തരത്തിൽ എൻക്രിപ്റ്റ് ചെയ്ത സന്ദേശം പൊതുവായ ഒരു ഇടത്തിൽ പരസ്യമാക്കപ്പെട്ടാലും ആരുടെ പബ്ലിക് കീ ഉപയോഗിച്ചാണോ എൻക്രിപ്റ്റ് ചെയ്യപ്പെട്ടത് അയാളുടെ പ്രൈവറ്റ് കീ ഉപയോഗിച്ച് മാത്രമേ അത് തുറക്കാൻ കഴിയുകയുള്ളൂ. അതിനാൽ വളരെ സുരക്ഷിതമായി സ്വീകർത്താവിന് തന്റെ കൈവശമുള്ള പ്രൈവറ്റ് കീ ഉപയോഗിച്ച് സന്ദേശം ഡീക്രിപ്റ്റ് ചെയ്യാനാകുന്നു. ഈ സംവിധാനത്തിൽ പ്രൈവറ്റ് കീ ഒരിയ്ക്കലും ഒരു മാദ്ധ്യമത്തിലൂടെയും പങ്കുവയ്ക്കപ്പെടുന്നില്ല എന്നതിനാൽ സുരക്ഷിതത്വവും രഹസ്വ സ്വഭാവവവും ഉറപ്പു വരുത്താനാകുന്നു. ഇനി സ്വീകരിയ്ക്കുന്ന ആൾക്ക് ഇത് അയച്ചത് ആരാണെന്ന് എങ്ങിനെ ഉറപ്പ് വരുത്താനാകും? അതിനായി അയയ്ക്കുന്ന ആൾ സന്ദേശം തന്റെ പ്രൈവറ്റ് കീ ഉപയോഗിച്ച് ഒപ്പുവച്ചിരിയ്ക്കും. ഈ ഡീജിറ്റൽ ഒപ്പ് പരസ്യമായി ലഭ്യമായ അയാളൂടെ പബ്ലിക് കീ ഉപയോഗിച്ച് ആർക്കും പരിശോധിയ്ക്കാൻ കഴിയുന്നു. ഇവിടെ മറ്റൊരു വിഷയം ഉണ്ട്. രണ്ടുപേർക്കിടയിൽ മാത്രം നടക്കുന്ന ആശയവിനിമയം ആണെങ്കിൽ പബ്ലിക് കീയുടെ ഉടമസ്ഥൻ ആരാണെന്ന് മനസ്സിലാക്കാൻ വലിയ വിഷമമൊന്നുമുണ്ടാകില്ലല്ലോ. പക്ഷേ ഒരു ഗ്രൂപ്പിലെ പൊതു ഇടത്തിൽ പബ്ലിക് കീയുടെ ഉടമ ആരാണെന്ന് എങ്ങിനെ മനസ്സിലാക്കും? അതിനായി വിശ്വസനീയമായ ഒരു മൂന്നാം കക്ഷിയുടെ ആവശ്യമുണ്ട്. പബ്ലിക് കീ ഇൻഫ്രാസ്ട്രക്റ്റ്ചറിന്റെ തന്നെ ഭാഗമായ 'സർട്ടിഫിക്കേഷൻ അതോറിറ്റികള്‌- രജിസ്ട്രേഷൻ അതൊറിറ്റികൾ' തുടങ്ങിയ മൂന്നാം കക്ഷികൾ ആണ് ഇത്തരം സർട്ടിഫിക്കറ്റുകളുടെ ആധികാരികത ഉറപ്പ് വരുത്തുന്നത്



വെബ് സൈറ്റുകളിലും മറ്റു ഉപയോഗിക്കുന്ന SSL (സെക്വേഡ് സൊക്കറ്റ് ലയർ) https സാങ്കേതിക വിദ്യ പബ്ലിക് കീ ഇൻഫ്രാസ്ട്രക്ചറിൽ അധിഷ്ഠിതമാണ്. അതായത് ഇവിടെ ഒരു ഉപയോക്താവ് തന്റെ കമ്പ്യൂട്ടർ ബ്രൗസർ ഉപയോഗിച്ച് ഒരു സെർവ്വറുമായി ബന്ധം സ്ഥാപിയ്ക്കുമ്പോൾ ഇവയ്ക്കിടയിലുള്ള ആശയവിനിമയം മൂന്നാമതൊരു കക്ഷിയ്ക് ചോർത്താൻ സാധിയ്ക്കാത്ത വിധം സുരക്ഷിതമാക്കപ്പെടുന്നു. അതായത് ഒരു ബാങ്കിന്റെ വെബ് സൈറ്റ് തുറന്ന് ഉപഭോക്ത്രു വിവരങ്ങൾ നൽകി അക്കൗണ്ടിലേയ്ക്ക് പ്രവേശിയ്ക്കുന്നഅവസരത്തിലും മറ്റും അതേ നെറ്റ്‌‌വർക്കിൽ കടന്നുകയറ്റം നടത്തുന്ന ഒരു മൂന്നാമന് പ്രസ്തുത വിവരങ്ങൾ കൈക്കലാക്കാൻ കഴിയുകയില്ല. 

ഇനി എൻഡ്‌ റ്റു ഏൻഡ് എൻക്രിപ്ഷനിലേയ്ക്ക് വരാം. എൻഡ്‌ ടു എൻഡ്‌എൻക്രിപ്ഷൻ പബ്ലിക് കീ ഇൻഫ്രാസ്ട്രക്ചർ പോലെത്തന്നെയാണ് പ്രവർത്തിയ്ക്കുന്നതെങ്കിലും കാര്യമായ വ്യത്യാസങ്ങൾ ഉണ്ട്. ജി മെയിൽ, ഫേസ്‌‌ബുക്ക്, ബാങ്കിംഗ് സൈറ്റുകൾ തുടങ്ങിയവ എസ്. എസ്. എൽ ഉപയോഗിക്കുന്നു എങ്കിലും ഇവയുടെ സർവ്വറുകളിൽ ഉള്ള ഡാറ്റ എൻക്രിപ്റ്റ് ചെയ്യപ്പെട്ടതായിരിക്കില്ല (യൂസർ നേം, പാസ്‌‌വേഡ്‌ തുടങ്ങിയവ ഒഴികെ). അതായത് ഈ സ്ഥാപനങ്ങളിൽ ജോലി ചെയ്യുന്നവർക്കോ അവിടങ്ങളിലെ സർവ്വർ അഡ്മിനിസ്ട്രേറ്റർക്കോ ഉപയോക്താക്കളുടെ ഡാറ്റ ഗ്രഹ്യമാണ്. മാത്രവുമല്ല സർക്കാർ ഏജൻസികൾ ആവശ്യപ്പെട്ടാൽ ഈ വിവരങ്ങൾ അതേ രൂപത്തിൽ പകർത്തി നൽകുകയും ചെയ്യുന്നു. ഇവിടെയാണ് എൻഡ് ടു എൻഡ് എൻക്രിപ്ഷൻ വരുന്നത്. വാട്സപ്പ്, ടെലിഗ്രാം തുടങ്ങിയ ഇന്റർനെറ്റ് മെസഞ്ചർ സംവിധാനങ്ങളിൽ പ്രസ്തുത കമ്പനികളുടെ സെർവ്വറുകൾ വെറും ഇടനിലക്കാർ മാത്രമാണ് അതായത് ഒരാൾ മറ്റൊരാൾക്ക് ഒരു സന്ദേശം അയയ്ക്കുന്നു. അത് സ്വീകർത്താവിന്റെ ഉപകരണത്തിൽ എത്തുന്നതുവരെ താൽക്കാലികമായി സൂക്ഷിയ്ക്കുക മാത്രമാണ് ഈ സർവ്വറുകളുടെ ധർമ്മം (പുഷ് ആൻഡ്‌ഫോർവേഡ് സിസ്റ്റം). എൻഡ് റ്റു എൻഡ് എൻക്രിപ്ഷൻ സാങ്കേതിക വിദ്യ ഉപയോഗിയ്ക്കുമ്പോൾ സന്ദേശങ്ങൾ അയയ്ക്കുന്ന ആളുടെ അപ്ലിക്കേഷനിൽ നിന്നും പുറത്തിറങ്ങി സർവ്വറുകളിലൂടെ സ്വീകർത്താവിന്റെ അപ്ലിക്കേഷനിൽ എത്തുന്നതു വരെ എല്ലാ അവസരങ്ങളിലും എൻക്രിപ്റ്റഡ് ആയിരിക്കും. അതായത് വാട്സപ്പിലൂടെ അയയ്ക്കുന്ന ഒരു എൻഡ്‌ടു എൻഡ് എൻക്രിപ്റ്റഡ് മെസേജ് വാട്സപ്പിലെ ഉദ്യോഗസ്ഥർക്ക് പോലും തുറന്ന് വായിയ്ക്കാൻ കഴിയില്ല. ഇനി എൻഡ് ടു എൻഡ് എൻക്രിപ്ഷൻ എങ്ങിനെയാണ് പ്രവർത്തിയ്ക്കുന്നത് എന്ന് നോക്കാം. ഇതും പബ്ലിക് കീ ഇൻഫ്രാസ്ട്രക്ചറിലേതുപോലെത്തന്നെ ഒരു പബ്ലിക് - പ്രൈവറ്റ് കീ കോമ്പിനേഷൻ ആണ് ഉപയോഗിക്കുന്നത്. ഓരോ വാട്സപ്പ് യൂസറിനും അവരുടേതായ പ്രൈവറ്റ് കീയും പബ്ലിക് കീയും ഉണ്ടായിരിക്കും. ഇതിൽ പ്രൈവറ്റ് കീ രഹസ്യവും പബ്ലിക് കീ പൊതുവായി ആർക്കും കാണാവുന്നതും ആണ്. ഒരാൾ മറ്റൊരാൾക്ക് സന്ദേശം അയയ്കുമ്പോൾ അയയ്ക്കേണ്ട ആളുടെ പബ്ലിക് കീ ഉപയോഗിച്ച് സന്ദേശത്തെ എൻക്രിപ്റ്റ് ചെയ്യുന്നു. പ്രസ്തുത സന്ദേശം തുറന്ന് വായിയ്ക്കാൻ (ഡീക്രിപ്റ്റ് ചെയ്യാൻ) സ്വീകരിയ്ക്കുന്ന ആളുടെ പ്രൈവറ്റ് കീ ആവശ്യമാണ്. സന്ദേശം സ്വീകരിയ്ക്കുന്ന ആൾക്ക് തന്റെ പ്രൈവറ്റ് കീ ഉപയോഗിച്ച് ഇത്തരത്തിൽ സന്ദേശത്തെ ഡീക്രിപ്റ്റ് ചെയ്യാവുന്നതാണ്


ജിമെയിൽ, യാഹൂ, ഫേസ് ബുക്ക് തുടങ്ങിയവയൊന്നും എൻഡ് ടു എൻഡ് എൻക്രിപ്ഷൻ ഉപയോഗിക്കുന്നില്ല. പക്ഷേ എൻഡ് ടു എൻഡ്‌എൻക്രിപ്ഷൻ ഉപയോഗിക്കുന്ന പ്രശസ്തമായ ഒരു മെയിൽ സർവ്വീസ് ആണ് പ്രോട്ടോൺ മെയിൽ . പ്രോട്ടോൺ മെയിൽ സർവ്വറുകളിൽ ഉപഭോക്താക്കളുടെ ഡാറ്റ കൂടി എൻക്രിപ്റ്റ് ചെയ്താണ് സൂക്ഷിയ്ക്കപ്പെട്ടിരിയ്ക്കുന്നത്. ജി. മെയിലിൽ എൻഡ് ടു എൻഡ് എൻക്രിപ്ഷൻ ഒരു ക്രോം എക്സ്റ്റൻഷനിലൂടെ ലഭ്യമാണ്. 

ക്രിപ്റ്റോഗ്രാഫിയും എൻക്രിപ്ഷനുമെല്ലാം ഗ്രഹിയ്ക്കൻ അത്ര എളുപ്പമല്ലാത്ത വിഷയങ്ങളായതിനാൽ ഈ വിഷയത്തിൽ ലഭ്യമായ വീഡിയോകൾ യൂടൂബിൽ പല തവണ കണ്ടാൽ കുറച്ചെങ്കിലും കാര്യങ്ങൾ മനസ്സിലാക്കാൻ കഴിയും.