7.1 මුරපද (Passwords) වැදගත් වන්නේ ඇයි?
මුරපද යනු පරිගණක පද්ධතියකට, වෙබ් අඩවියකට හෝ යෙදුමකට ප්රවේශ වීමේදී ඔබගේ අනන්යතාවය තහවුරු කරන (Authentication) ප්රධානතම ක්රමවේදයයි. සරලවම, එය ඔබගේ ඩිජිටල් දොරටුවේ යතුරයි. යම් හෙයකින් හැකර්වරයෙකුට ඔබගේ මුරපදය ලබාගත හැකි වුවහොත්, ඔහුට ඔබගේ ගිණුමට ඇතුළු වී ඔබගේ පෞද්ගලික දත්ත සොරකම් කිරීමට, ඔබ ලෙස පෙනී සිටිමින් අන් අයව රැවටීමට, හෝ මූල්ය වංචා සිදු කිරීමට හැකියාව ලැබේ. මේ නිසා මුරපද බිඳ දැමීම හැකර්වරුන්ගේ ප්රධාන ඉලක්කයකි.
7.2 මුරපද ගබඩා කරන ආකාරය: Hashing
වගකීම් සහගත කිසිදු වෙබ් අඩවියක් හෝ පද්ධතියක් ඔබගේ මුරපදය ඒ ආකාරයෙන්ම (Plain text) ඔවුන්ගේ දත්ත සමුදායේ ගබඩා කරන්නේ නැත. එසේ කළහොත්, එම දත්ත සමුදාය හැකර්වරයෙකුගේ අතට පත් වූ විට, සියලුම පරිශීලකයන්ගේ මුරපද ඔහුට පහසුවෙන් දැකගත හැකිය.
ඒ වෙනුවට, ඔවුන් භාවිතා කරන්නේ "Hashing" නම් ක්රියාවලියකි. Hashing යනු, ඔබගේ මුරපදය ගෙන, එය ගණිතමය ඇල්ගොරිතමයක් (mathematical algorithm) හරහා යවා, ස්ථාවර දිගකින් යුතු, කියවිය නොහැකි අක්ෂර මාලාවක් (hash) බවට පත් කිරීමයි.
සරල උපමාවක්: ඇඟිලි සලකුණ (Fingerprint)
Hash එකක් හරියට ඇඟිලි සලකුණක් වැනිය.
1. එය අනන්ය වේ (Unique): 'password123' යන මුරපදයට ලැබෙන hash එක සැමවිටම එකක් වන අතර, 'password124' ට ලැබෙන්නේ සම්පූර්ණයෙන්ම වෙනස් hash එකකි.
2. එය ආපසු හැරවිය නොහැක (Irreversible): ඔබට කෙනෙකුගේ ඇඟිල්ලෙන් ඇඟිලි සලකුණක් ලබාගත හැකි නමුත්, ඇඟිලි සලකුණකින් නැවත ඇඟිල්ලක් නිර්මාණය කළ නොහැක. ඒ ආකාරයටම, මුරපදයකින් hash එකක් සෑදිය හැකි නමුත්, hash එකකින් නැවත මුල් මුරපදය ලබා ගැනීම (න්යායාත්මකව) කළ නොහැකිය.
උදාහරණයක් ලෙස, `P@ssword1!` යන මුරපදය SHA-256 නම් Hashing ඇල්ගොරිතමයට ඇතුළත් කළ විට ලැබෙන hash එක මෙසේය:
ඔබ login වන විට, ඔබ ඇතුළත් කරන මුරපදය hash කර, දත්ත සමුදායේ ඇති hash එක සමඟ සසඳා බලයි. hash දෙකම සමාන නම්, ඔබට ප්රවේශය ලැබේ.
7.3 මුරපද බිඳ දැමීමේ (Password Cracking) ක්රම
හැකර්වරයෙකුට දත්ත සමුදායේ ඇති මෙම hash ලැයිස්තුව අතට පත් වූ විට, ඔහු කරන්නේ එම hash එකට ගැලපෙන මුල් මුරපදය කුමක්දැයි අනුමාන කිරීමට උත්සාහ කිරීමයි. මේ සඳහා ඔවුන් විවිධ ක්රම භාවිතා කරයි.
| ප්රහාරයේ නම | ක්රියාත්මක වන ආකාරය |
|---|---|
| Brute Force Attack | හැකි සෑම අක්ෂර සංයෝජනයක්ම (aa, ab, ac, ... aA, aB, ...) එකින් එක යොදා බලමින් නිවැරදි මුරපදය සොයා ගැනීමට උත්සාහ කිරීම. මෙය ඉතා කාලය ගතවන ක්රමයකි. |
| Dictionary Attack | විශාල වචන ලැයිස්තුවක් (dictionary) ගෙන, එහි ඇති සෑම වචනයක්ම මුරපදය ලෙස යොදා බැලීම. බොහෝ දෙනෙක් සරල වචන මුරපද ලෙස භාවිතා කරන නිසා මෙය සාර්ථක වීමේ ඉඩකඩ වැඩිය. |
| Rainbow Table Attack | කලින් ගණනය කර සකස් කරන ලද මුරපද සහ ඒවාට අදාළ hash අඩංගු දැවැන්ත වගු (Rainbow Tables) භාවිතා කර, සොරාගත් hash එකට ගැලපෙන මුරපදය ඉක්මනින් සොයා ගැනීම. |
7.4 ශක්තිමත් මුරපදයක් නිර්මාණය කරන්නේ කෙසේද?
ඉහත ප්රහාර වලින් ආරක්ෂා වීමට ඇති හොඳම ක්රමය නම්, හැකර්වරයෙකුට පහසුවෙන් අනුමාන කළ නොහැකි, ශක්තිමත් මුරපදයක් භාවිතා කිරීමයි.
ශක්තිමත් මුරපදයක ලක්ෂණ:
- 🔐 දිග (Length): අවම වශයෙන් අක්ෂර 12ක් වත් දිගු විය යුතුය. දිග වැඩි වන තරමට ආරක්ෂාවද වැඩි වේ.
- 🔄 සංකීර්ණ බව (Complexity): ඉංග්රීසි ලොකු අකුරු (A-Z), කුඩා අකුරු (a-z), ඉලක්කම් (0-9) සහ විශේෂ අක්ෂර (!, @, #, $, %) යන සියල්ලේම සංකලනයක් විය යුතුය.
- ❓ අනුමාන කළ නොහැකි බව (Unpredictability): ඔබගේ නම, උපන් දිනය, දුරකථන අංකය, 'password', '123456' වැනි පහසුවෙන් අනුමාන කළ හැකි දේවල් කිසිවිටෙක භාවිතා නොකරන්න.
- ☝️ අනන්ය බව (Uniqueness): සෑම වෙබ් අඩවියකටම හෝ සේවාවකටම වෙන වෙනම මුරපද භාවිතා කරන්න. එකම මුරපදය හැමතැනම භාවිතා කිරීමෙන් වළකින්න.
හොඳම විසඳුම: මුරපද කළමනාකරුවෙක් (Password Manager)
Bitwarden, 1Password, LastPass වැනි මුරපද කළමනාකරුවෙකු (Password Manager) භාවිතා කිරීමෙන් ඔබට සෑම සේවාවක් සඳහාම ශක්තිමත්, අනන්ය මුරපද නිර්මාණය කර, ඒවා සුරක්ෂිතව ගබඩා කර තබා ගත හැකිය. ඔබට මතක තබා ගැනීමට අවශ්ය වන්නේ එම මුරපද කළමනාකරුගේ ප්රධාන මුරපදය (Master Password) පමණි.