ട്രാൻസ്പോർട്ട് ലെയർ സെക്യൂരിറ്റി

(SSL എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)

ഒരു നെറ്റ്വർക്കിലൂടെ ഡാറ്റാ കയ്മാറ്റം ചെയ്യുംബോളാവശ്യമുള്ള കരുതൽ(സെക്യൂരിറ്റി) നടപടികളെക്കുറിച്ചുള്ള നിയമാവലികളെ പൊതുവായി ട്രാൻസ്പോർട്ട് ലെയർ സെക്യൂരിറ്റി(ടിഎൽഎസ്.) എന്നു വിളിയ്ക്കുന്നു.[1] ടീ.എൽ.എസ്. എന്നത് എസ്എസ്എൽന്റെ (സെക്യൂർ സോക്കറ്റ് ലെയർ) പരിഷ്കരിച്ച പതിപ്പാണ്. ഇത് ഒരു കമ്പ്യൂട്ടർ നെറ്റ്‌വർക്കിലൂടെ ആശയവിനിമയ സുരക്ഷ നൽകുന്നതിനായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന ക്രിപ്‌റ്റോഗ്രാഫിക് പ്രോട്ടോക്കോളുകളാണ്.[2]

വെബ് പേജ് സന്ദർശനം, സന്ദേശമയക്കൽ, ഫാക്സ് അയക്കൽ, മെസ്സേജിങ്ങ്, വോയിപ്പ് (VoIP) തുടങ്ങി നിരവധി ആവശ്യങ്ങൾക്കനുയോജ്യമായി ടീ.എൽ.എസ്./എസ്എസ്എൽന്റെ നിരവധി പതിപ്പുകൾ ഇറങ്ങിയിട്ടുണ്ട്.

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

അസിമെറ്റ്രിക്ക് ക്രിപ്റ്റോഗ്രാഫിയിൽ പൊതു താക്കോൽ(പബ്ലിക്ക് കീയ്)ഉപയോഗിച്ച് സന്ദേശത്തെ പൂട്ടുകയും(എങ്ക്രിപ്റ്റ് ചെയ്യുംബോൾ) പ്രൈവറ്റ് കീയ് ഉപയോഗിച്ച് സന്ദേശത്തെ തുറക്കുകയും ചെയ്യുംബോൾ, സിമട്രിക്ക് ക്രിപ്റ്റോഗ്രാഫിയിൽ ബിറ്റ് രൂപത്തിലുള്ള സന്ദേശം എങ്ക്രിപ്റ്റ് ചെയ്യാനും, എങ്ക്രിപ്റ്റ് ചെയ്യപ്പെട്ട സന്ദേശത്തെ തുറക്കാനും(ഡീക്രിപ്റ്റ് ചെയ്യാനും)ഒരു കീയ് മാത്രം ഉപയോഗിയ്ക്കുന്നു.

പ്രവർത്തനം സംഗ്രഹിത രൂപത്തിൽ

ടീ.എൽ.എസ്./എസ്.എസ്.എൽ. നിയമാവലികൾ വിവര-മോഷണം, വിവരത്തിനെ കേട് വരുത്തുക (റ്റാംബെറിങ്ങ്) തുടങ്ങിയ അഭിലഷണീയമല്ലാത്ത അവസ്ഥകളിൽ നിന്നും രക്ഷനേടുകയെന്ന ഉദ്ദേശത്തോടെ സൃഷ്ടിച്ചതാണു. എസ്.എസ്.എൽ ഉപയോഗിച്ചും അല്ലാതെയും നെറ്റ്വർക്കിലൂടെ സന്ദേശമയക്കാവുന്നതിനാൽ, സെർവറിനു താനുമായി ബന്ധപ്പെടുന്ന ക്ലയന്റുമായുള്ള തന്റെ ബന്ധപ്പെടുന്ന രീതി നിർവചിയ്ക്കേണ്ടതായിട്ട് ഉണ്ട്. അതായത്, ഒരു ക്ലയന്റിനുമായുള്ള ബന്ധത്തിൽ ടീ.എൽ.എസ്./എസ്.എസ്.എൽ ഉപയോഗിയ്ക്കണമോ, വേണ്ടയോ, അതോ രണ്ട് മാർഗ്ഗവും ഉപയോഗിയ്ക്കാമോ തുടങ്ങിയ കാര്യങ്ങളിൽ തീരുമാനമെടുക്കേണ്ടതുണ്ട്.

പ്രധാനമായും രണ്ട് വിധത്തിൽ ഇത് നടപ്പിൽ വരുത്തി കാണുന്നു.

1)എസ്.എസ്.എൽ(/റ്റീ.എൽ.എസ്) മാർഗ്ഗമുപയോഗിച്ചു കൂടുതൽ സുരക്ഷിതമായ രീതിയിൽ സന്ദേശം കയ്മാറുന്നതിനായി ഒരു പോർട്ടും, അല്ലാത്തവയ്ക്ക് മറ്റൊരു പോർട്ടും ഉപയോഗിയ്ക്കുക എന്നതാണൊരു രീതി. (രണ്ട് ഉപകരണങ്ങൾ/കംബ്യൂട്ടർ ഒരു നെറ്റ്വർക്കിൽ കണക്റ്റ് ചെയ്യപ്പെടുന്നത് ഒരു പോർട്ട് വഴിയാണു. കണക്റ്റ് ചെയ്യപ്പെട്ട പോർട്ട് വഴിയാണൂ സന്ദേശം കയ്യ്മാറുന്നത്. മനസ്സിലാക്കുന്നതിനുള്ള എളുപ്പത്തിനു, പോർട്ടിനെ വേണമെങ്കിലൊരു വീട്ടിലെ വാതിലായി കണക്കാക്കാവുന്നതാണു. )

ഈ മാർഗ്ഗത്തിനൊരുദാഹരണമാണു. എച്.റ്റി.റ്റി.പി.യെസ് വഴിയുള്ള ഡാറ്റാ കയ്മാറ്റത്തിനു 443 എന്ന പോർട്ടു ഉപയോഗിയ്ക്കുന്നത്. എച്.റ്റീ.റ്റീ.പീ യെന്ന സന്ദേശ കയ്മാറ്റ രീതിയെ എസ്.എസ്.എൽ. ക്രമീകരണത്തിലൂടെ കൂടുതൽ സുരക്ഷിതമാക്കിയതാണു എച്.റ്റി.റ്റി.പി.യെസ്. സാദാ എച്.റ്റി.റ്റി.പീയ്ക്ക് 8080 എന്ന പോർട്ട് ഉപയോഗിച്ച് വരുംബോൾ, എച്.റ്റി.റ്റി.പീയെസിനു 443 എന്ന പോർട്ട് ഉപയോഗിച്ച്, എസ്.എസ്.എൽ സുരക്ഷാക്രമീകരണങ്ങൾ തങ്ങളുടെ സന്ദേശ വിനിമയത്തിൽ ഉൾപ്പെടുത്തി സന്ദേശ കയ്മാറ്റത്തെ കൂടുതൽ സുരക്ഷിതമാക്കുന്നു. (443, 8080 പോർട്ടുകൾ തന്നെ ഉപയോഗിയ്ക്കണമെന്ന് നിർബന്ധബുദ്ധിയൊന്നുമില്ല. സ്വതേയുള്ള ക്രമീകരണമനുസരിച്ചാണീ പോർട്ടുകൾ ഉപയോഗിയ്ക്കപ്പെടുന്നത്. സെർവർ അഡ്മിനു വേണമെങ്കിൽ അവ മാറ്റി നിശ്ചയിക്കാവുന്നതാണു)

2)രണ്ടാമത്തെ രീതി പ്രകാരം ഒരൊറ്റ പോർട്ട് മാത്രം വിനിമയത്തിനു ഉപയോഗിയ്ക്കുകയും, ക്ലയന്റ്, സെർവറിനോട് എസ്.എസ്.എൽ ഉപയോഗിയ്ക്കാൻ ആവശ്യപ്പെടുകയും, അതിനനുസരിച്ച്, സെർവർ, ക്ലയന്റുമായി ബന്ധപ്പെടുന്ന രീതിയ്ക്ക് മാറ്റം വരുത്തുകയുമാണു ചെയ്യുന്നതു.

ബന്ധം(കണക്ഷൻ) ഉറപ്പിയ്കുന്ന പ്രക്രിയ

ക്ലയന്റും, സെർവറും റ്റി.എൽ.എസ്. (എസ്.എസ്.എൽ) ഉപയോഗിയ്ക്കാനുറപ്പിച്ച് കഴിഞ്ഞാൽ, അവർ, തങ്ങൾ തമിലുള്ള ബന്ധത്തെ(കണക്ഷൻ) ഒരു ഹാൻഡ്ഷേക്കിങ്ങ് മെക്കാനിസം (പരസ്പരം കയ്യ് കൊടുക്കൽ പ്രക്രിയ) വഴി ഈടുറ്റതാക്കുന്നു. ഈ പ്രക്രിയയിൽ ക്ലയന്റും, സെർവറും, കണക്ഷന്റെ സുരക്ഷയെ സംബന്ധിച്ച ചില കാര്യങ്ങൾ പറഞ്ഞ് ഉറപ്പിയ്ക്കുന്നു.

1. ക്ലയന്റ് തന്റെ എസ്.എസ്.എൽ നംബറും, സിഫർ ക്രമീകരണങ്ങളും(ഡാറ്റാ പൂട്ടാനുപയോഗിയ്ക്കുന്ന വിദ്യയെക്കുറിച്ചുള്ള ചില അറിവ്), സെഷൻ സംബന്ധിച്ച ഡാറ്റയും, സെർവറിനു തിരിച്ച് ബന്ധപ്പെടാനാവശ്യമായ മറ്റനുബന്ധ വിവരങ്ങളും സെർവറിലേയ്ക്ക് അയയ്ക്കുന്നു.

2. സെർവർ തന്റെ എസ്.എസ്.എൽ നംബറും, സിഫർ ക്രമീകരണങ്ങളും(പൂട്ടൽ വിദ്യയെക്കുറിച്കുള്ള ചില അറിവ്), സെഷൻ സംബന്ധിച്ച ഡാറ്റയും, ക്ലയന്റിനു തിരിച്ച് ബന്ധപ്പെടാനാവശ്യമായ മറ്റനുബന്ധ വിവരങ്ങളും ക്ലയന്റിനു അയയ്ക്കുന്നു. അതോടൊപ്പം സെർവർ തന്റെ എസ്.എസ്.എൽ. സെർട്ടിഫിക്കറ്റും ക്ലയന്റിനു അയച്ച് കൊടുക്കും. (സർട്ടിഫിക്കറ്റ് എന്ന് പറയുന്നത് ഒരു കൂട്ടം ഡാറ്റയാണു. ഈ ഡാറ്റയിൽ തന്റെ വ്യക്തിത്വത്തെ/സ്വത്വത്തെ അടയാളപ്പെടുത്തുന്ന വിവരങ്ങളും, സന്ദേശത്തെ പൂട്ടാനുപയോഗിയ്ക്കുന്ന താക്കോലും(പബ്ലിക് കീയ്) കാണാമായിരിയ്ക്കും.) ക്ലയന്റിന്റെ വ്യക്തിത്വം/സ്വത്വം ഉറപ്പാക്കുന്നതിനു ക്ലയന്റിന്റെ സെർട്ടിഫിക്കറ്റും വേണമെങ്കിൽ സെർവറിനു ചോദിയ്ക്കാവുന്നതാണു. (ക്ലയന്റ് ഏതെങ്കിലുമൊരു സെർവർ ഡാറ്റ എടുക്കാൻ ശ്രമിയ്ക്കുന്നുവെങ്കിൽ, സെർവർ ഉറപ്പായും, ക്ലയന്റിന്റെ സെർട്ടിഫിക്കറ്റ് ചോദിച്ചിരിയ്ക്കാം.)

3. ക്ലയന്റ് സെർവർ അയച്ച് കൊടുത്ത വിവരങ്ങളും, സെർവറിന്റെ സർട്ടിഫിക്കറ്റും ഉപയോഗിച്ച് സെർവറിന്റെ വ്യക്തിത്വം/സ്വത്വം ഉറപ്പ് വരുത്തും. ഇതിൽ പരാജയപ്പെട്ടാൽ, കണക്ഷൻ വിച്ഛേദിയ്ക്കും.

4. ഹാൻഡ്ഷെയ്ക്കിങ്ങിലിതുവരെ ലഭിച്ച വിവരങ്ങളുപയോഗിച്ച് ക്ലയന്റ് ഒരു താത്കാലിക രഹസ്യ കോഡ് (പ്രീ മാസ്റ്റർ സീക്രഡ് കോഡ്) സൃഷ്ടിയ്ക്കുകയും, (ഇതിനായി, സിഫർ ക്രമീകരണങ്ങളുപയോഗിയ്ക്കുമത്രേ), സ്റ്റെപ്പ് 2ൽ സെർവറിൽ നിന്നും ലഭിച്ച സെർവ്വരിന്റെ സർട്ടിഫിക്കറ്റിൽ നിന്നും സെർവ്വറിന്റെ പൊതു താക്കോൽ (പബ്ലിക്ക് കീയ്) ഉപയോഗിച്ച് ഈ താത്കാലിക രഹസ്യക്കോഡിനെ പൂട്ടുകയും (എങ്ക്രിപ്റ്റ്) ആ പൂട്ടിയ കോഡ് സെർവറിലേയ്ക്കയച്ച് കൊടുക്കുകയും ചെയ്യും.

5. ഹാൻഡ് ഷെയ്ക്ക് ഘട്ടത്തിൽ ക്ലയന്റിന്റെ വ്യക്തിത്വം/സ്വത്വം ഉറപ്പാക്കുകയെന്ന അത്ര നിർബന്ധമില്ലാത്ത ഒരു സ്റ്റെപ്പും ചിലപ്പോൾ ഉൾപ്പെടുത്തി കാണാറുണ്ട്. അത്തരമവസരത്തിൽ സ്റ്റെപ്പ് 4ൽ അയച്ച പൂട്ടിയ (എങ്ക്രിപ്പ്റ്റഡ്) താത്കാലിക രഹസ്യ കോഡിനൊപ്പം ക്ലയന്റ് തന്റെ സർട്ടിഫിക്കറ്റും അയച്ച് കൊടുക്കും. സെർവർ, സർട്ടിഫിക്കറ്റ് പരിശോധിച്ച് ബന്ധം (കണക്ഷൻ) തുടരണമോയെന്ന് തീരുമാനിയ്ക്കും.

6. സെർവർ ക്ലയന്റിന്റെ വ്യക്തിത്വം/സ്വത്വം ഉറപ്പാക്കി കഴിഞ്ഞാൽ, സെർവർ തന്റെ സ്വകാര്യ താക്കോൽ (പ്രയ്വറ്റ് കീയ്) ഉപയോഗിച്ച്, സ്റ്റെപ്പിൽ 4ൽ ലഭിച്ച പൂട്ടിയ താത്കാലിക രഹ്സ്യ കോഡിനെ തുറക്കാനുള്ള ശ്രമമാരംഭിയ്ക്കും. ഈ കോഡ് ഉപയോഗിച്ച് സെർവർ പ്രധാന രഹസ്യ കോഡ് സൃഷ്ടിയ്ക്കും (മാസ്റ്റർ സീക്രഡ് കോഡ്) ചെയ്യും. ക്ലയന്റും തന്റെ കയ്യിലുള്ള പ്രീ മാസ്റ്റർ സീക്രഡ് കോഡിൽ നിന്നും പ്രധാന രഹസ്യ കോഡ് സൃഷ്ടിയ്ക്കും.

7. ക്ലയന്റും, സെർവറും, തങ്ങളുടെ കയ്വശമുള്ള പ്രധാന രഹസ്യ കോഡ് ഉപയോഗിച്ച് സെഷൻ താക്കോലുകൽ സൃഷ്ടിയ്ക്കുന്നു. ഈ സെഷൻ താക്കോലുകൾ സിമട്രിക്ക് താക്കോലുകളാണു. ഈ താക്കോലുകൾ ഉപയോഗിച്ച് സന്ദേശങ്ങളെ പൂട്ടുകയും(എൻക്രിപ്റ്റ്), തുറക്കുകയും (ഡീക്രിപ്റ്റ്) ചെയ്യുകയും, സന്ദേശങ്ങളുടെ സത്യാവസ്ഥ(ഇന്റെഗ്രിറ്റി) ഉറപ്പ് വരുത്തുകയും ചെയ്യുന്നു. അതായത് ഉദ്ഭവത്തിൽ നിന്നും ലക്ഷ്യസ്ഥാനത്തെത്തുന്നതിനിടയിൽ ബിറ്റ് രൂപത്തിലുള്ള ഡാറ്റയിൽ മാറ്റങ്ങളൊന്നും വന്നിട്ടില്ലായെന്ന് ഉറപ്പ് വരുത്തുന്നു.

8. ക്ലയന്റ് തന്റെ സന്ദേശമെല്ലാം സെഷൻ താക്കോലുപയോഗിച്ച് എങ്ക്രിപ്റ്റ് ചെയ്താണിനി മുതൽ അയയ്ക്കാൻ പോകുന്നതെന്ന് സെർവറിനെ അറിയിക്കുന്നു. മറ്റൊരു സന്ദേശത്തിനാൽ തന്റെ ഭാഗത്ത് നിന്നുള്ള ഹാൻഡ് ഷെയ്ക്കിങ്ങ് പ്രക്രിയ അവസാനിച്ചതായി അറിയിക്കുന്നു.

9. സെർവർ തന്റെ സന്ദേശമെല്ലാം സെഷൻ താക്കോലുപയോഗിച്ച് എങ്ക്രിപ്റ്റ് ചെയ്താണിനി മുതൽ അയയ്ക്കാൻ പോകുന്നതെന്ന് ക്ലയന്റിനെ അറിയിക്കുന്നു. മറ്റൊരു സന്ദേശത്തിനാൽ തന്റെ ഭാഗത്ത് നിന്നുള്ള ഹാൻഡ് ഷെയ്ക്കിങ്ങ് പ്രക്രിയ അവസാനിച്ചതായി അറിയിക്കുന്നു.

മേൽച്ചൊന്ന ഏതെങ്കിലും ഘട്ടത്തിൽ പരാജയമുണ്ടായാൽ സെക്യൂർഡ് കണക്ഷൻ സൃഷ്ടിയ്ക്കപ്പെടുകയില്ല. ഹാൻഡ് ഷെയ്ക്ക് പ്രക്രിയ വിജയകരമായി പൂർത്തികരിയ്ക്കാൻ കഴിഞ്ഞാൽ പരസ്പരം സന്ദേശം കയ്മാറാൻ തുടങ്ങുന്നു. നേരത്തേ സൂചിപ്പിച്ചതു പോലെ ക്ലയന്റും, സെർവറും, തങ്ങളുടെ സെഷൻ താക്കോലുകൾ ഉപയോഗിച്ച് സന്ദേശങ്ങൾ പൂട്ടുകയും, തുറക്കുകയും, പരസ്പരം കയ്മാറുന്ന സന്ദേശങ്ങളുടെ സത്യാവസ്ഥ/ഇന്റെഗ്രിറ്റി ഉറപ്പ് വരുത്തുകയും ചെയ്യുന്നു. ഒരിക്കൽ നിലവിൽ വന്ന കണക്ഷനിലൂടെ, പിന്നിട് വിച്ഛേദിയ്ക്കുന്നതു വരെ സന്ദേശം കയ്മാറാവുന്നതാണു.

സാധാരണ ഇങ്ങനെയൊക്കെയാണെങ്കിലും, പല കാരണങ്ങളാലേത് നിമിഷവും കണക്ഷൻ (ബന്ധം) വീണ്ടും ഉറപ്പിയ്ക്കേണ്ടതായി വന്നു ചേരാം. അങ്ങനെയുള്ള അവസരങ്ങളിൽ മേൽ കൊടുത്ത സ്റ്റെപ്പുകൾ വീണ്ടും ആവർത്തിച്ച് ബന്ധം പുന:സ്ഥാപിയ്ക്കേണ്ടതായിട്ടുണ്ട്.

  1. R. Barnes; M. Thomson; A. Pironti; A. Langley (June 2015). "Deprecating Secure Sockets Layer Version 3.0". Archived from the original on 2018-03-28.
  2. T. Dierks; E. Rescorla (August 2008). "The Transport Layer Security (TLS) Protocol, Version 1.2". Archived from the original on 2017-12-24.