សុវត្ថិភាពមិនមែនជាជម្រើសទៀតទេ ប៉ុន្តែវគ្គសិក្សាចាំបាច់សម្រាប់អ្នកអនុវត្តបច្ចេកវិទ្យាអ៊ីនធឺណិតគ្រប់រូប។ HTTP, HTTPS, SSL, TLS - តើអ្នកពិតជាយល់ពីអ្វីដែលកំពុងកើតឡើងនៅពីក្រោយឆាកមែនទេ? នៅក្នុងអត្ថបទនេះ យើងនឹងពន្យល់ពីតក្កវិជ្ជាស្នូលនៃពិធីការទំនាក់ទំនងដែលបានអ៊ិនគ្រីបទំនើបតាមវិធីរបស់បុគ្គលិក និងវិជ្ជាជីវៈ ហើយជួយអ្នកឱ្យយល់ពីអាថ៌កំបាំង "នៅពីក្រោយសោ" ជាមួយនឹងគំនូសតាងលំហូរដែលមើលឃើញ។
ហេតុអ្វីបានជា HTTP "គ្មានសុវត្ថិភាព"? --- សេចក្តីផ្តើម
ចងចាំការព្រមានកម្មវិធីរុករកតាមអ៊ីនធឺណិតដែលធ្លាប់ស្គាល់នោះ?
msgstr "ការតភ្ជាប់របស់អ្នកមិនមែនជាឯកជន។"
នៅពេលដែលគេហទំព័រមួយមិនដាក់ឱ្យប្រើប្រាស់ HTTPS នោះព័ត៌មានរបស់អ្នកប្រើប្រាស់ទាំងអស់ត្រូវឆ្លងកាត់បណ្តាញក្នុងអត្ថបទធម្មតា។ ពាក្យសម្ងាត់ចូលរបស់អ្នក លេខកាតធនាគារ និងសូម្បីតែការសន្ទនាឯកជនទាំងអស់អាចត្រូវបានចាប់យកដោយពួក Hacker ដែលមានទីតាំងល្អ។ មូលហេតុនៃបញ្ហានេះ គឺកង្វះការអ៊ិនគ្រីប HTTP។
ដូច្នេះតើ HTTPS និង "gatekeeper" នៅពីក្រោយវា TLS អនុញ្ញាតឱ្យទិន្នន័យធ្វើដំណើរដោយសុវត្ថិភាពតាមអ៊ីនធឺណិតដោយរបៀបណា? ចូរបំបែកវាដោយស្រទាប់។
HTTPS = HTTP + TLS/SSL --- រចនាសម្ព័ន្ធ និងគោលគំនិតស្នូល
1. តើ HTTPS គឺជាអ្វី?
HTTPS (HyperText Transfer Protocol Secure) = HTTP + ស្រទាប់អ៊ីនគ្រីប (TLS/SSL)
○ HTTP៖ នេះទទួលខុសត្រូវក្នុងការដឹកជញ្ជូនទិន្នន័យ ប៉ុន្តែខ្លឹមសារអាចមើលឃើញជាអត្ថបទធម្មតា។
○ TLS/SSL៖ ផ្តល់ "ការចាក់សោលើការអ៊ិនគ្រីប" សម្រាប់ការទំនាក់ទំនង HTTP ដោយបង្វែរទិន្នន័យទៅជាល្បែងផ្គុំរូបដែលមានតែអ្នកផ្ញើ និងអ្នកទទួលស្របច្បាប់ប៉ុណ្ណោះដែលអាចដោះស្រាយបាន។
រូបភាពទី 1៖ លំហូរទិន្នន័យ HTTP និង HTTPS ។
"ចាក់សោ" នៅក្នុងរបារអាសយដ្ឋានកម្មវិធីរុករកគឺជាទង់សុវត្ថិភាព TLS/SSL ។
2. តើទំនាក់ទំនងរវាង TLS និង SSL គឺជាអ្វី?
○ SSL (Secure Sockets Layer)៖ ពិធីការគ្រីបគ្រីបដំបូងបំផុត ដែលត្រូវបានគេរកឃើញថាមានភាពងាយរងគ្រោះធ្ងន់ធ្ងរ។
○ TLS (សុវត្ថិភាពស្រទាប់ដឹកជញ្ជូន): អ្នកស្នងតំណែងរបស់ SSL, TLS 1.2 និង TLS 1.3 កម្រិតខ្ពស់ជាងនេះ ដែលផ្តល់នូវការកែលម្អយ៉ាងសំខាន់នៅក្នុងសុវត្ថិភាព និងដំណើរការ។
សព្វថ្ងៃនេះ "វិញ្ញាបនបត្រ SSL" គ្រាន់តែជាការអនុវត្តនៃពិធីការ TLS ដោយគ្រាន់តែដាក់ឈ្មោះផ្នែកបន្ថែមប៉ុណ្ណោះ។
ចូលទៅក្នុង TLS: វេទមន្តគ្រីបតូនៅពីក្រោយ HTTPS
1. លំហូរនៃការចាប់ដៃត្រូវបានដោះស្រាយយ៉ាងពេញលេញ
មូលដ្ឋានគ្រឹះនៃការទំនាក់ទំនងប្រកបដោយសុវត្ថិភាព TLS គឺជាការរាំចាប់ដៃនៅពេលរៀបចំ។ តោះបំបែកលំហូរការចាប់ដៃ TLS ស្តង់ដារ៖
រូបភាពទី 2៖ លំហូរចាប់ដៃ TLS ធម្មតា។
1️⃣ ការដំឡើងការតភ្ជាប់ TCP
អតិថិជន (ឧ. កម្មវិធីរុករកតាមអ៊ីនធឺណិត) ចាប់ផ្តើមការតភ្ជាប់ TCP ទៅម៉ាស៊ីនមេ (ច្រកស្តង់ដារ 443) ។
2️⃣ ដំណាក់កាលចាប់ដៃ TLS
○ សួស្តីអតិថិជន៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិតផ្ញើកំណែ TLS ដែលគាំទ្រ លេខសម្ងាត់ និងលេខចៃដន្យ រួមជាមួយនឹងការចង្អុលបង្ហាញឈ្មោះម៉ាស៊ីនមេ (SNI) ដែលប្រាប់ម៉ាស៊ីនមេដែលឈ្មោះម៉ាស៊ីនដែលខ្លួនចង់ចូលប្រើ (បើកការចែករំលែក IP លើគេហទំព័រជាច្រើន)។
○ Server Hello & Certificate បញ្ហា៖ ម៉ាស៊ីនមេជ្រើសរើសកំណែ TLS និងលេខសម្ងាត់ដែលសមស្រប ហើយផ្ញើវិញ្ញាបនបត្ររបស់វាមកវិញ (ជាមួយសោសាធារណៈ) និងលេខចៃដន្យ។
○ សុពលភាពនៃវិញ្ញាបនបត្រ៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិតផ្ទៀងផ្ទាត់ខ្សែសង្វាក់វិញ្ញាបនបត្ររបស់ម៉ាស៊ីនមេ គ្រប់មធ្យោបាយទៅកាន់ root CA ដែលអាចទុកចិត្តបាន ដើម្បីធានាថាវាមិនត្រូវបានក្លែងបន្លំទេ។
○ ការបង្កើតកូនសោ Premaster៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិតបង្កើតកូនសោជាមុន អ៊ិនគ្រីបវាដោយប្រើសោសាធារណៈរបស់ម៉ាស៊ីនមេ ហើយបញ្ជូនវាទៅម៉ាស៊ីនមេ។ ភាគីទាំងពីរចរចារសោវគ្គ៖ ដោយប្រើលេខចៃដន្យរបស់ភាគីទាំងពីរ និងសោបឋម អតិថិជន និងម៉ាស៊ីនមេគណនាសោវគ្គអ៊ិនគ្រីបស៊ីមេទ្រីដូចគ្នា។
○ ការបញ្ចប់ការចាប់ដៃ៖ ភាគីទាំងពីរផ្ញើសារ "Finished" ទៅកាន់គ្នាទៅវិញទៅមក ហើយចូលទៅក្នុងដំណាក់កាលបញ្ជូនទិន្នន័យដែលបានអ៊ិនគ្រីប។
3️⃣ ការផ្ទេរទិន្នន័យប្រកបដោយសុវត្ថិភាព
ទិន្នន័យសេវាកម្មទាំងអស់ត្រូវបានអ៊ិនគ្រីបស៊ីមេទ្រីជាមួយសោវគ្គដែលបានចរចាប្រកបដោយប្រសិទ្ធភាព បើទោះបីជាត្រូវបានស្ទាក់ចាប់នៅកណ្តាលក៏ដោយ វាគ្រាន់តែជា "កូដច្របូកច្របល់" ប៉ុណ្ណោះ។
4️⃣ វគ្គប្រើឡើងវិញ
TLS គាំទ្រ Session ម្តងទៀត ដែលអាចធ្វើអោយដំណើរការប្រសើរឡើងយ៉ាងខ្លាំង ដោយអនុញ្ញាតឱ្យអតិថិជនដូចគ្នារំលងការចាប់ដៃដ៏ធុញទ្រាន់។
ការអ៊ិនគ្រីបមិនស៊ីមេទ្រី (ដូចជា RSA) មានសុវត្ថិភាព ប៉ុន្តែយឺត។ ការអ៊ិនគ្រីបស៊ីមេទ្រីគឺលឿន ប៉ុន្តែការចែកចាយគន្លឹះគឺពិបាក។ TLS ប្រើយុទ្ធសាស្ត្រ "ពីរជំហាន" - ទីមួយការផ្លាស់ប្តូរសោសុវត្ថិភាព asymmetric ហើយបន្ទាប់មកគ្រោងការណ៍ស៊ីមេទ្រីដើម្បីអ៊ិនគ្រីបទិន្នន័យប្រកបដោយប្រសិទ្ធភាព។
2. ការវិវត្តន៍នៃក្បួនដោះស្រាយ និងការកែលម្អសុវត្ថិភាព
RSA និង Diffie-Hellman
○ RSA
វាត្រូវបានគេប្រើយ៉ាងទូលំទូលាយជាលើកដំបូងក្នុងអំឡុងពេលចាប់ដៃ TLS ដើម្បីចែកចាយសោសម័យដោយសុវត្ថិភាព។ ម៉ាស៊ីនភ្ញៀវបង្កើតសោសម័យ អ៊ិនគ្រីបវាជាមួយសោសាធារណៈរបស់ម៉ាស៊ីនមេ ហើយផ្ញើវា ដូច្នេះមានតែម៉ាស៊ីនមេប៉ុណ្ណោះដែលអាចឌិគ្រីបវាបាន។
○ Diffie-Hellman (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 ទាំងមូល។
○ ធ្វើបច្ចុប្បន្នភាពជាទៀងទាត់ និងពិនិត្យមើលខ្សែសង្វាក់វិញ្ញាបនបត្រ ដើម្បីធានាបាននូវសុពលភាព និងសុចរិតភាពនៃខ្សែសង្វាក់ទុកចិត្ត។
សេចក្តីសន្និដ្ឋាន និងគំនិត៖ តើអាជីវកម្មរបស់អ្នកពិតជាមានសុវត្ថិភាពមែនទេ?
ពី HTTPS អត្ថបទធម្មតាទៅ HTTPS ដែលបានអ៊ិនគ្រីបយ៉ាងពេញលេញ តម្រូវការសុវត្ថិភាពបានវិវត្តនៅពីក្រោយការអាប់ដេតពិធីការនីមួយៗ។ ក្នុងនាមជាមូលដ្ឋានគ្រឹះនៃការទំនាក់ទំនងដែលបានអ៊ិនគ្រីបនៅក្នុងបណ្តាញទំនើប TLS កំពុងកែលម្អខ្លួនវាជានិច្ច ដើម្បីទប់ទល់នឹងបរិយាកាសវាយប្រហារដែលកាន់តែស្មុគស្មាញ។
តើអាជីវកម្មរបស់អ្នកប្រើ HTTPS រួចហើយឬនៅ? តើការកំណត់រចនាសម្ព័ន្ធគ្រីបតូរបស់អ្នកស្របនឹងការអនុវត្តល្អបំផុតក្នុងឧស្សាហកម្មឬ?
ពេលវេលាផ្សាយ៖ ថ្ងៃទី២២ ខែកក្កដា ឆ្នាំ២០២៥