សុវត្ថិភាពលែងជាជម្រើសទៀតហើយ ប៉ុន្តែជាវគ្គសិក្សាដែលតម្រូវសម្រាប់អ្នកអនុវត្តបច្ចេកវិទ្យាអ៊ីនធឺណិតគ្រប់រូប។ HTTP, HTTPS, SSL, TLS - តើអ្នកពិតជាយល់ពីអ្វីដែលកំពុងកើតឡើងនៅពីក្រោយឆាកមែនទេ? នៅក្នុងអត្ថបទនេះ យើងនឹងពន្យល់អំពីតក្កវិជ្ជាស្នូលនៃពិធីការទំនាក់ទំនងដែលបានអ៊ិនគ្រីបទំនើបតាមរបៀបសាមញ្ញ និងវិជ្ជាជីវៈ ហើយជួយអ្នកឱ្យយល់ពីអាថ៌កំបាំង "នៅពីក្រោយសោ" ជាមួយនឹងតារាងលំហូរដែលមើលឃើញ។
ហេតុអ្វីបានជា HTTP "មិនមានសុវត្ថិភាព"? --- សេចក្តីផ្តើម
ចាំការព្រមានដែលធ្លាប់ស្គាល់របស់កម្មវិធីរុករកទេ?
"ការតភ្ជាប់របស់អ្នកមិនមែនជាឯកជនទេ។"
នៅពេលដែលគេហទំព័រមិនដាក់ពង្រាយ HTTPS ព័ត៌មានទាំងអស់របស់អ្នកប្រើប្រាស់នឹងត្រូវបានបញ្ជូនឆ្លងកាត់បណ្តាញជាអត្ថបទធម្មតា។ ពាក្យសម្ងាត់ចូលរបស់អ្នក លេខកាតធនាគារ និងសូម្បីតែការសន្ទនាឯកជនអាចត្រូវបានចាប់យកដោយពួក Hacker ដែលមានទីតាំងល្អ។ មូលហេតុចម្បងនៃបញ្ហានេះគឺកង្វះការអ៊ិនគ្រីបរបស់ HTTP។
ដូច្នេះតើ HTTPS និង "អ្នករក្សាច្រកទ្វារ" នៅពីក្រោយវាគឺ TLS អនុញ្ញាតឱ្យទិន្នន័យធ្វើដំណើរដោយសុវត្ថិភាពនៅទូទាំងអ៊ីនធឺណិតយ៉ាងដូចម្តេច? ចូរយើងបំបែកវាជាស្រទាប់ៗ។
HTTPS = HTTP + TLS/SSL --- រចនាសម្ព័ន្ធ និងគោលគំនិតស្នូល
១. តើ HTTPS ជាអ្វីជាខ្លឹមសារ?
HTTPS (HyperText Transfer Protocol Secure) = HTTP + ស្រទាប់អ៊ិនគ្រីប (TLS/SSL)
○ HTTP៖ នេះទទួលខុសត្រូវចំពោះការដឹកជញ្ជូនទិន្នន័យ ប៉ុន្តែខ្លឹមសារអាចមើលឃើញជាអត្ថបទធម្មតា
○ TLS/SSL៖ ផ្តល់នូវ "សោរសម្រាប់ការអ៊ិនគ្រីប" សម្រាប់ការទំនាក់ទំនង HTTP ដោយប្រែក្លាយទិន្នន័យទៅជាល្បែងផ្គុំរូបដែលមានតែអ្នកផ្ញើ និងអ្នកទទួលស្របច្បាប់ប៉ុណ្ណោះដែលអាចដោះស្រាយបាន។
រូបភាពទី 1: លំហូរទិន្នន័យ HTTP ទល់នឹង HTTPS។
"Lock" នៅក្នុងរបារអាសយដ្ឋានរបស់កម្មវិធីរុករកតាមអ៊ីនធឺណិត គឺជាទង់សុវត្ថិភាព TLS/SSL។
2. តើទំនាក់ទំនងរវាង TLS និង SSL ជាអ្វី?
○ SSL (Secure Sockets Layer): ពិធីការគ្រីបតូក្រាហ្វីដំបូងបំផុត ដែលត្រូវបានគេរកឃើញថាមានភាពងាយរងគ្រោះធ្ងន់ធ្ងរ។
○ TLS (សុវត្ថិភាពស្រទាប់ដឹកជញ្ជូន)៖ ជាអ្នកស្នងតំណែងរបស់ SSL គឺ TLS 1.2 និង TLS 1.3 កម្រិតខ្ពស់ជាង ដែលផ្តល់នូវភាពប្រសើរឡើងគួរឱ្យកត់សម្គាល់នៅក្នុងសុវត្ថិភាព និងដំណើរការ។
សព្វថ្ងៃនេះ "វិញ្ញាបនបត្រ SSL" គ្រាន់តែជាការអនុវត្តពិធីការ TLS ប៉ុណ្ណោះ គ្រាន់តែជាផ្នែកបន្ថែមដែលមានឈ្មោះថា។
ស្វែងយល់ឲ្យស៊ីជម្រៅអំពី TLS៖ វេទមន្តគ្រីបតូក្រាហ្វីនៅពីក្រោយ HTTPS
១. លំហូរនៃការចាប់ដៃត្រូវបានដោះស្រាយយ៉ាងពេញលេញ
មូលដ្ឋានគ្រឹះនៃការទំនាក់ទំនងដែលមានសុវត្ថិភាព TLS គឺការរាំចាប់ដៃនៅពេលដំឡើង។ ចូរយើងបំបែកលំហូរចាប់ដៃ TLS ស្តង់ដារ៖
រូបភាពទី 2: លំហូរការចាប់ដៃ TLS ធម្មតា។
1️⃣ ការដំឡើងការតភ្ជាប់ TCP
ម៉ាស៊ីនភ្ញៀវ (ឧទាហរណ៍ កម្មវិធីរុករកតាមអ៊ីនធឺណិត) ចាប់ផ្តើមការតភ្ជាប់ TCP ទៅម៉ាស៊ីនបម្រើ (ច្រកស្តង់ដារ 443)។
2️⃣ ដំណាក់កាលចាប់ដៃ TLS
○ សួស្តីអតិថិជន៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិតផ្ញើកំណែ TLS លេខកូដសម្ងាត់ និងលេខចៃដន្យដែលគាំទ្រ រួមជាមួយនឹងការចង្អុលបង្ហាញឈ្មោះម៉ាស៊ីនមេ (SNI) ដែលប្រាប់ម៉ាស៊ីនមេថាវាចង់ចូលប្រើឈ្មោះម៉ាស៊ីនមួយណា (អនុញ្ញាតឱ្យចែករំលែក IP នៅទូទាំងគេហទំព័រច្រើន)។
○ សួស្តីម៉ាស៊ីនមេ និងបញ្ហាវិញ្ញាបនបត្រ៖ ម៉ាស៊ីនមេជ្រើសរើសកំណែ TLS និងលេខកូដសម្ងាត់ដែលសមស្រប ហើយផ្ញើវិញ្ញាបនបត្ររបស់វា (ជាមួយកូនសោសាធារណៈ) និងលេខចៃដន្យមកវិញ។
○ ការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រ៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិតផ្ទៀងផ្ទាត់ខ្សែសង្វាក់វិញ្ញាបនបត្រម៉ាស៊ីនមេរហូតដល់ root CA ដែលទុកចិត្ត ដើម្បីធានាថាវាមិនត្រូវបានក្លែងបន្លំ។
○ ការបង្កើតកូនសោរ Premaster៖ កម្មវិធីរុករកបង្កើតកូនសោរ Premaster អ៊ិនគ្រីបវាជាមួយកូនសោសាធារណៈរបស់ម៉ាស៊ីនមេ ហើយផ្ញើវាទៅម៉ាស៊ីនមេ។ ភាគីទាំងពីរចរចារកូនសោរវគ្គ៖ ដោយប្រើលេខចៃដន្យរបស់ភាគីទាំងពីរ និងកូនសោរ Premaster ម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេគណនាកូនសោរវគ្គអ៊ិនគ្រីបស៊ីមេទ្រីដូចគ្នា។
○ ការបញ្ចប់ការចាប់ដៃគ្នា៖ ភាគីទាំងពីរផ្ញើសារ "បានបញ្ចប់" ទៅគ្នាទៅវិញទៅមក ហើយចូលទៅក្នុងដំណាក់កាលបញ្ជូនទិន្នន័យដែលបានអ៊ិនគ្រីប។
3️⃣ ការផ្ទេរទិន្នន័យដោយសុវត្ថិភាព
ទិន្នន័យសេវាកម្មទាំងអស់ត្រូវបានអ៊ិនគ្រីបស៊ីមេទ្រីជាមួយសោវគ្គដែលបានចរចាប្រកបដោយប្រសិទ្ធភាព ទោះបីជាត្រូវបានស្ទាក់ចាប់នៅចំកណ្តាលក៏ដោយ វាគ្រាន់តែជា "លេខកូដមិនច្បាស់លាស់" មួយចំនួនប៉ុណ្ណោះ។
៤️⃣ ការប្រើប្រាស់ឡើងវិញនៃវគ្គ
TLS គាំទ្រ Session ម្តងទៀត ដែលអាចធ្វើអោយប្រសើរឡើងនូវដំណើរការយ៉ាងខ្លាំង ដោយអនុញ្ញាតឱ្យអតិថិជនដូចគ្នារំលងការចាប់ដៃដ៏ធុញទ្រាន់។
ការអ៊ិនគ្រីបអសមមាត្រ (ដូចជា RSA) មានសុវត្ថិភាព ប៉ុន្តែយឺត។ ការអ៊ិនគ្រីបស៊ីមេទ្រីមានល្បឿនលឿន ប៉ុន្តែការចែកចាយសោគឺស្មុគស្មាញ។ TLS ប្រើយុទ្ធសាស្ត្រ "ពីរជំហាន" - ដំបូងគឺការផ្លាស់ប្តូរសោសុវត្ថិភាពអសមមាត្រ ហើយបន្ទាប់មកគ្រោងការណ៍ស៊ីមេទ្រីដើម្បីអ៊ិនគ្រីបទិន្នន័យប្រកបដោយប្រសិទ្ធភាព។
២. ការវិវត្តន៍នៃក្បួនដោះស្រាយ និងការកែលម្អសុវត្ថិភាព
RSA និង Diffie-Hellman
○ អរអេសអេ
វាត្រូវបានប្រើប្រាស់យ៉ាងទូលំទូលាយជាលើកដំបូងក្នុងអំឡុងពេល TLS handshake ដើម្បីចែកចាយ session keys ដោយសុវត្ថិភាព។ client បង្កើត session key អ៊ិនគ្រីបវាជាមួយ public key របស់ server ហើយផ្ញើវាដើម្បីឱ្យមានតែ server ទេដែលអាចឌិគ្រីបវាបាន។
○ ឌីហ្វី-ហេលមែន (DH/ECDH)
គិតចាប់ពី TLS 1.3 មក RSA លែងត្រូវបានប្រើសម្រាប់ការផ្លាស់ប្តូរសោរទៀតហើយ ដោយងាកមកប្រើក្បួនដោះស្រាយ DH/ECDH ដែលមានសុវត្ថិភាពជាងមុន ដែលគាំទ្រការសម្ងាត់បញ្ជូនបន្ត (PFS)។ ទោះបីជាសោរឯកជនត្រូវបានលេចធ្លាយក៏ដោយ ទិន្នន័យប្រវត្តិសាស្ត្រនៅតែមិនអាចដោះសោបាន។
| កំណែ TLS | ក្បួនដោះស្រាយការផ្លាស់ប្តូរសោ | សន្តិសុខ |
| TLS 1.2 | RSA/DH/ECDH | ខ្ពស់ជាង |
| TLS 1.3 | សម្រាប់តែ DH/ECDH ប៉ុណ្ណោះ | ខ្ពស់ជាងនេះ |
ដំបូន្មានជាក់ស្តែងដែលអ្នកអនុវត្តបណ្តាញត្រូវតែចេះដឹង
○ ការធ្វើឱ្យប្រសើរឡើងជាអាទិភាពទៅ TLS 1.3 សម្រាប់ការអ៊ិនគ្រីបលឿនជាងមុន និងមានសុវត្ថិភាពជាងមុន។
○ បើកដំណើរការការអ៊ិនគ្រីបខ្លាំង (AES-GCM, ChaCha20, ជាដើម) និងបិទដំណើរការក្បួនដោះស្រាយខ្សោយ និងពិធីការមិនមានសុវត្ថិភាព (SSLv3, TLS 1.0);
○ កំណត់រចនាសម្ព័ន្ធ HSTS, OCSP Stapling ជាដើម ដើម្បីកែលម្អការការពារ HTTPS ជារួម។
○ ធ្វើបច្ចុប្បន្នភាព និងពិនិត្យឡើងវិញជាប្រចាំនូវខ្សែសង្វាក់វិញ្ញាបនបត្រ ដើម្បីធានាបាននូវសុពលភាព និងភាពសុចរិតនៃខ្សែសង្វាក់ទំនុកចិត្ត។
សេចក្តីសន្និដ្ឋាន និងគំនិត៖ តើអាជីវកម្មរបស់អ្នកពិតជាមានសុវត្ថិភាពមែនទេ?
ចាប់ពី HTTP អត្ថបទធម្មតា រហូតដល់ HTTPS ដែលបានអ៊ិនគ្រីបយ៉ាងពេញលេញ តម្រូវការសុវត្ថិភាពបានវិវត្តនៅពីក្រោយការធ្វើឱ្យប្រសើរឡើងនូវពិធីការនីមួយៗ។ ក្នុងនាមជាមូលដ្ឋានគ្រឹះនៃការទំនាក់ទំនងដែលបានអ៊ិនគ្រីបនៅក្នុងបណ្តាញទំនើប TLS កំពុងកែលម្អខ្លួនឯងជានិច្ច ដើម្បីទប់ទល់នឹងបរិយាកាសវាយប្រហារដែលកាន់តែស្មុគស្មាញ។
តើអាជីវកម្មរបស់អ្នកប្រើប្រាស់ HTTPS រួចហើយឬនៅ? តើការកំណត់រចនាសម្ព័ន្ធគ្រីបតូរបស់អ្នកស្របតាមការអនុវត្តល្អបំផុតរបស់ឧស្សាហកម្មដែរឬទេ?
ពេលវេលាបង្ហោះ៖ ថ្ងៃទី ២២ ខែកក្កដា ឆ្នាំ ២០២៥



