បញ្ហា (The Problem)៖ ការកើនឡើងនៃឧបករណ៍ IoT ដែលមានធនធានកម្រិត (Resource-constrained devices) បង្កឱ្យមានបញ្ហាប្រឈមក្នុងការការពារទិន្នន័យ ដោយសារក្បួនដោះស្រាយកូដសម្ងាត់ស្តង់ដារត្រូវការថាមពល និងសមត្ថភាពកុំព្យូទ័រខ្ពស់ពេក។
វិធីសាស្ត្រ (The Methodology)៖ អ្នកស្រាវជ្រាវបានបង្កើតកម្មវិធី Android ដើម្បីធ្វើតេស្ត និងប្រៀបធៀបប្រសិទ្ធភាពនៃក្បួនដោះស្រាយកូនសោស៊ីមេទ្រីផ្សេងៗគ្នានៅលើស្មាតហ្វូនដែលមានស្ថាបត្យកម្ម CPU ខុសគ្នា (ARMv7 និង ARMv8)។
លទ្ធផលសំខាន់ៗ (The Verdict)៖
| វិធីសាស្ត្រ (Method) | គុណសម្បត្តិ (Pros) | គុណវិបត្តិ (Cons) | លទ្ធផលគន្លឹះ (Key Result) |
|---|---|---|---|
| ChaCha20-Poly1305 ក្បួនដោះស្រាយ ChaCha20-Poly1305 (Authenticated Stream Cipher) |
មានល្បឿនលឿនខ្លាំង និងប្រើប្រាស់ថាមពលតិចបំផុតលើឧបករណ៍ដែលគ្មាន Hardware Acceleration។ វាមានសុវត្ថិភាពខ្ពស់ និងត្រូវបានប្រើក្នុង TLS 1.3។ | គាំទ្រតែទំហំកូនសោ (Key size) 256-bit ប៉ុណ្ណោះ ដែលអាចខ្វះភាពបត់បែនខ្លះសម្រាប់ប្រព័ន្ធចាស់ៗ។ | ជាជម្រើសល្អបំផុតសម្រាប់ឧបករណ៍ IoT ដែលមានធនធានកម្រិត ដោយមានតុល្យភាពរវាងល្បឿន និងការសន្សំសំចៃថ្ម។ |
| SPECK128 ក្បួនដោះស្រាយ SPECK128 (Lightweight Block Cipher) |
មានល្បឿនលឿនជាងគេសម្រាប់កញ្ចប់ទិន្នន័យតូចៗ និងប្រើប្រាស់ Memory តិចបំផុត។ សមស្របសម្រាប់ឧបករណ៍ដែលមានកម្លាំង CPU ខ្សោយ។ | កម្រិតសុវត្ថិភាពមិនទាន់ត្រូវបានសិក្សាលម្អិតស្មើនឹង AES ឡើយ ហើយអាចមិនសូវមានការគាំទ្រក្នុងស្តង់ដារអន្តរជាតិធំៗ។ | ដំណើរការលឿនជាង LEA លើកូនសោទំហំ 192 និង 256 bits ហើយប្រើប្រាស់ថាមពលតិច។ |
| AES (Hardware Accelerated) AES ដែលមានជំនួយពីផ្នែករឹង (AES-NI / ARMv8 CE) |
មានល្បឿនលឿនដាច់គេ និងសុវត្ថិភាពខ្ពស់បំផុត។ ជាស្តង់ដារពិភពលោកដែលគួរឱ្យទុកចិត្ត។ | ទាមទារឱ្យឧបករណ៍មាន Hardware ពិសេស (ដូចជា ARMv8)។ បើគ្មាន Hardware នេះទេ វាដំណើរការយឺត និងស៊ីថ្មខ្លាំង។ | ទទួលបាន Throughput ខ្ពស់បំផុត (ជាង 400 MiB/s) លើឧបករណ៍ Xiaomi Redmi Note 3 (ARMv8)។ |
| RC6 & Twofish ក្បួនដោះស្រាយ RC6 និង Twofish |
មានសមត្ថភាពល្អជាង AES ក្នុងករណីដែលគ្មាន Hardware Acceleration (Software-only implementation)។ | នៅតែយឺតជាង និងស៊ីថ្មច្រើនជាង ChaCha20 ឬ SPECK សម្រាប់ឧបករណ៍ IoT។ | RC6 លឿនជាង Twofish បន្តិចលើស្ថាបត្យកម្ម ARMv8 ប៉ុន្តែ Twofish លឿនជាងលើ ARMv7។ |
ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះបង្ហាញថាធនធានសំខាន់គឺថាមពលថ្ម និងសមត្ថភាព CPU របស់ឧបករណ៍ IoT ។
ការសិក្សានេះធ្វើឡើងដោយប្រើប្រាស់ស្មាតហ្វូន Android (Samsung និង Xiaomi) ជាតំណាងឱ្យឧបករណ៍ IoT។ នេះអាចជាចំណុចលម្អៀងមួយ ព្រោះឧបករណ៍ IoT ជាក់ស្តែងនៅក្នុងវិស័យកសិកម្ម ឬឧស្សាហកម្មនៅកម្ពុជា ភាគច្រើនជា Microcontrollers (ដូចជា ESP32 ឬ STM32) ដែលមានកម្លាំងខ្សោយជាងស្មាតហ្វូនឆ្ងាយណាស់។
លទ្ធផលនៃការសិក្សានេះមានប្រយោជន៍យ៉ាងខ្លាំងសម្រាប់អ្នកអភិវឌ្ឍន៍ប្រព័ន្ធ IoT នៅកម្ពុជា ដើម្បីជ្រើសរើសក្បួនដោះស្រាយសុវត្ថិភាពដែលសមស្រប។
ការជ្រើសរើសក្បួនដោះស្រាយឱ្យត្រូវនឹងប្រភេទ Hardware (ARMv7 vs ARMv8) គឺជាកត្តាស្លាប់រស់សម្រាប់ប្រសិទ្ធភាពនៃឧបករណ៍ IoT ដែលដំណើរការដោយថ្ម។
ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖
| ពាក្យបច្ចេកទេស | ការពន្យល់ជាខេមរភាសា (Khmer Explanation) | និយមន័យសាមញ្ញ (Simple Definition) |
|---|---|---|
| Symmetric Key Algorithms | ជាវិធីសាស្ត្រកូដសម្ងាត់ដែលប្រើប្រាស់កូនសោ (Key) តែមួយគត់ សម្រាប់ការចាក់សោទិន្នន័យឱ្យទៅជាសម្ងាត់ (Encryption) និងការដោះសោទិន្នន័យនោះមកវិញ (Decryption)។ | ដូចជាការប្រើកូនសោតែមួយគ្រាប់ ដើម្បីចាក់សោទ្វារផ្ទះពេលចេញក្រៅ និងប្រើកូនសោដដែលនោះដើម្បីបើកទ្វារពេលត្រឡប់មកវិញ។ |
| Authenticated Encryption | ជាបច្ចេកទេសដែលធ្វើការងារពីរក្នុងពេលតែមួយ គឺការបំប្លែងទិន្នន័យជាសម្ងាត់ (Confidentiality) និងការធានាថាទិន្នន័យនោះមិនត្រូវបានកែប្រែដោយជនទីបីឡើយ (Integrity) ក្នុងអំឡុងពេលបញ្ជូន។ | ប្រៀបដូចជាការផ្ញើសំបុត្រដាក់ក្នុងប្រអប់ដែក (សម្ងាត់) ហើយបិទត្រាជ័រពីលើ (ការផ្ទៀងផ្ទាត់) ដើម្បីឱ្យអ្នកទទួលដឹងថាគ្មាននរណាលួចបើក ឬដូរខ្លឹមសារសំបុត្រតាមផ្លូវ។ |
| Hardware Acceleration | ការប្រើប្រាស់ផ្នែកពិសេសនៃគ្រឿងកុំព្យូទ័រ (ដូចជា CPU ថ្មីៗដែលមានឈុតណែនាំ AES-NI) ដើម្បីធ្វើការគណនាកូដសម្ងាត់ឱ្យលឿនជាងការប្រើប្រាស់កម្មវិធី (Software) ធម្មតា។ | ដូចជាការប្រើម៉ាស៊ីនគិតលេខដើម្បីគុណលេខ លឿនជាងនិងចំណាយកម្លាំងតិចជាងការគិតលេខដោយប្រើក្រដាសនិងប៊ិច។ |
| Middleware | កម្មវិធីកុំព្យូទ័រដែលដើរតួជាអ្នកសម្របសម្រួលនៅកណ្តាល រវាងប្រព័ន្ធប្រតិបត្តិការ (OS) និងកម្មវិធីអ្នកប្រើប្រាស់ (Application) ដើម្បីជួយឱ្យឧបករណ៍ផ្សេងៗគ្នាអាចផ្លាស់ប្តូរទិន្នន័យគ្នាបាន។ | ប្រៀបបាននឹងអ្នកបកប្រែភាសា ដែលជួយឱ្យមនុស្សពីរនាក់និយាយភាសាផ្សេងគ្នាអាចយល់គ្នា និងធ្វើការជាមួយគ្នាបាន។ |
| Side-Channel Attacks | ការវាយប្រហារលួចយកទិន្នន័យសម្ងាត់ ដោយមិនមែនបំបែកកូដគណិតវិទ្យាផ្ទាល់ ប៉ុន្តែតាមរយៈការវាស់វែងរូបហ្សែព (Physical implementation) ដូចជាការប្រើប្រាស់ថាមពល ឬរយៈពេលដែល CPU ប្រើដើម្បីគណនា។ | ដូចជាចោរដែលទាយលេខសម្ងាត់ទូដែក ដោយស្តាប់សំឡេង 'តុកៗ' ពេលបង្វិលសោ ជាជាងការទាយលេខម្តងមួយៗដោយចៃដន្យ។ |
| Block Cipher | ក្បួនដោះស្រាយដែលបំប្លែងទិន្នន័យជាដុំៗដែលមានទំហំកំណត់ (ឧទាហរណ៍ 128 bits ក្នុងមួយដុំ) មុននឹងធ្វើការអ៊ិនគ្រីប។ AES និង RC6 គឺជាឧទាហរណ៍នៃ Block Cipher ។ | ដូចជាការកាត់នំប៉័ងវែងមួយដើម ឱ្យទៅជាចំណិតស្មើៗគ្នា មុននឹងយកទៅវេចខ្ចប់។ |
អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖
ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖