Original Title: Analysis of Lightweight Cryptographic Algorithms on IoT Hardware Platform
Source: doi.org/10.3390/fi15020054
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការវិភាគលើក្បួនដោះស្រាយគ្រីបតូកម្រិតស្រាលនៅលើវេទិកាផ្នែករឹង IoT

ចំណងជើងដើម៖ Analysis of Lightweight Cryptographic Algorithms on IoT Hardware Platform

អ្នកនិពន្ធ៖ Mohammed El-hajj (University of Twente), Hussien Mousawi (Lebanese University), Ahmad Fadlallah (University of Sciences and Arts in Lebanon)

ឆ្នាំបោះពុម្ព៖ 2023 Future Internet

វិស័យសិក្សា៖ Cybersecurity and Internet of Things

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ក្បួនដោះស្រាយគ្រីបតូប្រពៃណីទាមទារធនធានកុំព្យូទ័រច្រើន ដែលមិនស័ក្តិសមសម្រាប់ឧបករណ៍ IoT ដែលមានធនធានមានកម្រិត។ ការសិក្សានេះដោះស្រាយបញ្ហានេះដោយធ្វើការវាយតម្លៃ និងប្រៀបធៀបក្បួនដោះស្រាយគ្រីបតូកម្រិតស្រាល (Lightweight Cryptography) ដើម្បីស្វែងរកជម្រើសដែលស៊ីថាមពលតិច និងមានប្រសិទ្ធភាពបំផុតសម្រាប់ឧបករណ៍ប្រភេទនេះ។

វិធីសាស្ត្រ (The Methodology)៖ អ្នកស្រាវជ្រាវបានអនុវត្តការសរសេរកូដ និងវាយតម្លៃលើក្បួនដោះស្រាយគ្រីបតូចំនួន ១២២ (រួមបញ្ចូលទាំងបេក្ខភាពជុំទី២ របស់ NIST ចំនួន ៨០) ដោយប្រើប្រាស់វេទិកាផ្នែករឹងចំនួនពីរផ្សេងគ្នា។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Traditional Cryptography (AES-128 Baseline)
ក្បួនដោះស្រាយគ្រីបតូប្រពៃណី (AES-128 ជាស្តង់ដារគោល)
មានស្តង់ដារសុវត្ថិភាពខ្ពស់បំផុត និងត្រូវបានជឿទុកចិត្តក្នុងការប្រើប្រាស់យ៉ាងទូលំទូលាយទូទាំងពិភពលោក។ ស៊ីថាមពលច្រើន និងទាមទារអង្គចងចាំធំ ដែលមិនសូវស័ក្តិសមសម្រាប់ឧបករណ៍ IoT តូចៗដែលមានធនធានមានកម្រិត។ ត្រូវបានប្រើជាគោល (១០០%) សម្រាប់ការវាស់វែងធៀប (Relative Reference) ជាមួយក្បួនដោះស្រាយកម្រិតស្រាលផ្សេងៗទៀត។
Lightweight Cryptography (LWC) on Arduino UNO
ក្បួនដោះស្រាយគ្រីបតូកម្រិតស្រាល (LWC) លើ Arduino UNO
ប្រើប្រាស់ធនធាន (RAM/ROM) តិចតួចបំផុត និងស័ក្តិសមសម្រាប់ឧបករណ៍សេនស័រដែលគ្មានប្រព័ន្ធប្រតិបត្តិការស្មុគស្មាញ។ ល្បឿនដំណើរការ (Encryption/Decryption Speed) នៅមានកម្រិតទាប បើធៀបនឹងប្រព័ន្ធមានអង្គគណនាធំជាង។ ក្បួនដោះស្រាយ Schwaemm-128 ស៊ីថាមពលតិចបំផុត ខណៈដែល LEA មានល្បឿនលឿន និងប្រើប្រាស់ RAM/ROM តិចបំផុតលើ UNO។
Lightweight Cryptography (LWC) on Raspberry Pi
ក្បួនដោះស្រាយគ្រីបតូកម្រិតស្រាល (LWC) លើ Raspberry Pi
ល្បឿនអ៊ិនគ្រីប និងឌីគ្រីបលឿនខ្លាំង (លឿនជាង UNO ដល់ទៅ ៩៤%) និងមានប្រសិទ្ធភាពប្រើប្រាស់ថាមពលខ្ពស់។ ទាមទារថាមពលអគ្គិសនីមូលដ្ឋានខ្ពស់ជាង Arduino ក្នុងពេលមិនមានប្រតិបត្តិការ (Idle Mode) និងមានតម្លៃផ្នែករឹងថ្លៃជាង។ ដំណើរការល្អជាង Arduino ស្ទើរគ្រប់រង្វាស់រង្វាល់ ដោយក្បួន Xoodyak និង TinyJAMBU ទទួលបានលទ្ធផលមានប្រសិទ្ធភាពខ្ពស់បំផុត។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះទាមទារនូវឧបករណ៍ផ្នែករឹង IoT ជាក់ស្តែង ឧបករណ៍វាស់ស្ទង់ថាមពល និងកម្មវិធីសម្រាប់សរសេរកូដកម្រិតទាប។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះត្រូវបានធ្វើឡើងនៅក្នុងមន្ទីរពិសោធន៍នៃសាកលវិទ្យាល័យ Twente (ប្រទេសហូឡង់) និងសាកលវិទ្យាល័យនៅប្រទេសលីបង់ ដោយផ្តោតលើបរិយាកាសធម្មតា។ ទោះយ៉ាងណា អ្នកស្រាវជ្រាវបានបញ្ជាក់ថា កត្តាបរិស្ថានដូចជាសីតុណ្ហភាពអាចប៉ះពាល់ដល់ដំណើរការរបស់ឧបករណ៍។ សម្រាប់ប្រទេសកម្ពុជាដែលមានអាកាសធាតុក្តៅ សីតុណ្ហភាពអាចជះឥទ្ធិពលដល់ការប្រើប្រាស់ថាមពល និងស្ថិរភាពរបស់ឧបករណ៍ IoT ពេលដាក់ឲ្យដំណើរការជាក់ស្តែងនៅខាងក្រៅ។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

ការសិក្សានេះមានសារៈសំខាន់ និងមានអត្ថប្រយោជន៍ខ្ពស់ណាស់សម្រាប់ប្រទេសកម្ពុជា ដែលកំពុងបោះជំហានទៅរកការអភិវឌ្ឍប្រព័ន្ធ IoT ក្នុងវិស័យនានា។

ជារួម ការជ្រើសរើសក្បួនដោះស្រាយគ្រីបតូដែលត្រឹមត្រូវ និងស៊ីថាមពលតិច នឹងជួយកាត់បន្ថយចំណាយប្រតិបត្តិការ និងពង្រឹងសុវត្ថិភាពប្រព័ន្ធ IoT នៅកម្ពុជាបានយ៉ាងមានប្រសិទ្ធភាព និងនិរន្តរភាព។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. សិក្សាអំពីមូលដ្ឋានភាសា C និងគ្រីបតូក្រាហ្វីកម្រិតស្រាល: ចាប់ផ្តើមដោយការរៀនសរសេរកូដជាភាសា C និងស្វែងយល់ពីសញ្ញាណនៃ Block Ciphers ព្រមទាំងសិក្សាពីបេក្ខភាពចុងក្រោយរបស់ NIST LWC Standard (ដូចជា Schwaemm, Xoodyak, TinyJAMBU)។
  2. រៀបចំឧបករណ៍ផ្នែករឹងសម្រាប់ការពិសោធន៍: ស្វែងរកទិញ Arduino UNO (ATmega328p), Raspberry Pi 3 ឬ 4, និងសេនស័រវាស់ចរន្តអគ្គិសនី Adafruit INA219 ដើម្បីត្រៀមរៀបចំប្រព័ន្ធតេស្តនៅក្នុងមន្ទីរពិសោធន៍។
  3. អនុវត្តការសរសេរកូដ និងចងក្រង (Implementation & Compiling): យកកូដប្រភពនៃក្បួនដោះស្រាយគ្រីបតូមកដំណើរការ ដោយប្រើកម្មវិធី Arduino IDE សម្រាប់ផ្ទាំងសៀគ្វី UNO និងប្រើ GCC compiler / MinGW សម្រាប់បរិស្ថាន Linux លើ Pi។
  4. វាស់ស្ទង់រង្វាស់ប្រតិបត្តិការ និងថាមពល: ប្រើប្រាស់ឧបករណ៍ Valgrind ដើម្បីវាស់ទំហំ RAM លើ Pi និងភ្ជាប់សេនស័រ INA219 ជាមួយកម្មវិធី PLX-DAQ ដើម្បីទាញយកទិន្នន័យការស៊ីថាមពល (Power Consumption) ចូលទៅក្នុង Excel សម្រាប់ការវិភាគ។
  5. វិភាគទិន្នន័យ និងធ្វើបដិរូបកម្មកូដ (Optimization): ប្រៀបធៀបល្បឿន លទ្ធផលនៃការអ៊ិនគ្រីប ទំហំកូដ និងកម្រិតស៊ីថាមពល រួចធ្វើការកែសម្រួលកូដ (ឧទាហរណ៍ ការប្តូរ Data Types) ដើម្បីកាត់បន្ថយទំហំ ROM មុននឹងយកទៅអនុវត្តលើគម្រោង IoT ជាក់ស្តែង។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Lightweight Cryptography (LWC) ជាសាខានៃវិទ្យាសាស្ត្រកូដសម្ងាត់ (Cryptography) ដែលត្រូវបានរចនាឡើងយ៉ាងពិសេសដើម្បីធានាសុវត្ថិភាពទិន្នន័យ ដោយប្រើប្រាស់ធនធានកុំព្យូទ័រ អង្គចងចាំ និងថាមពលថ្មតិចតួចបំផុត សម្រាប់បម្រើដល់ឧបករណ៍សេនស័រតូចៗ។ ដូចជាការវេចខ្ចប់របស់មានតម្លៃក្នុងប្រអប់តូច ស្រាល និងរឹងមាំ ដែលងាយស្រួលដឹកជញ្ជូនតាមម៉ូតូ ជំនួសឲ្យការប្រើប្រាស់ឡានធំដែលស៊ីសាំងច្រើន។
Block Cipher ជាក្បួនដោះស្រាយគ្រីបតូដែលធ្វើការបំប្លែងទិន្នន័យធម្មតាទៅជាទិន្នន័យសម្ងាត់ (Encrypt) ជាដុំៗដែលមានទំហំកំណត់ជាក់លាក់ (ឧទាហរណ៍ ៦៤ ឬ ១២៨ ប៊ីត) ក្នុងពេលតែមួយ ជាជាងការបំប្លែងម្តងមួយតួអក្សរ។ ដូចជាការបកប្រែសៀវភៅម្តងមួយទំព័រពេញ ជាជាងការអង្គុយបកប្រែម្តងមួយពាក្យៗ។
Key Schedule ជាដំណើរការនៃការពង្រីក និងគណនាកូដសម្ងាត់ដើម (Master Key) ឲ្យទៅជាកូដសម្ងាត់រង (Subkeys) ជាច្រើនបន្តបន្ទាប់គ្នា ដើម្បីយកទៅប្រើប្រាស់ក្នុងជុំ (Rounds) នីមួយៗនៃការអ៊ិនគ្រីបទិន្នន័យ។ ដូចជាការយកសោរមេមួយទៅចម្លងចេញជាកូនសោរតូចៗជាច្រើន ដែលកូនសោរនីមួយៗប្រើសម្រាប់តែចាក់សោរបន្ទប់នីមួយៗតាមជាន់ផ្សេងគ្នាប៉ុណ្ណោះ។
Throughput ជាទំហំនៃទិន្នន័យសរុបដែលប្រព័ន្ធកុំព្យូទ័រអាចធ្វើការអ៊ិនគ្រីប ឬឌីគ្រីបបានសម្រេចក្នុងរយៈពេលមួយវិនាទី (គិតជា Bytes/s) ដែលជាសូចនាករបង្ហាញពីល្បឿនប្រតិបត្តិការរួមរបស់ក្បួនដោះស្រាយ។ ដូចជាបរិមាណទឹកគិតជាលីត្រ ដែលម៉ាស៊ីនបូមទឹកអាចបូមបញ្ចូលទៅក្នុងធុងបានក្នុងរយៈពេលមួយនាទី។
Latency ជារយៈពេលរង់ចាំ ឬចំនួនវដ្តនៃអង្គគណនា (Clock Cycles) ដែលប្រព័ន្ធត្រូវចំណាយដើម្បីបញ្ចប់ការអ៊ិនគ្រីប ឬឌីគ្រីបទិន្នន័យមួយដុំតូច (Block)។ តួលេខនេះកាន់តែតូច មានន័យថាប្រព័ន្ធឆ្លើយតបកាន់តែលឿន។ ដូចជារយៈពេលដែលអ្នករត់សំបុត្រម្នាក់ត្រូវចំណាយពេលជិះម៉ូតូយកសំបុត្រមួយច្បាប់ទៅឲ្យដល់ដៃអ្នកទទួល។
Resource-constrained devices ជាឧបករណ៍អេឡិចត្រូនិក ឬផ្នែករឹងដែលមានកម្រិតយ៉ាងខ្លាំងផ្នែកអង្គចងចាំ (RAM/ROM) ល្បឿនដំណើរការ និងថាមពលថ្ម ដូចជាបន្ទះសៀគ្វី Arduino ឬសេនស័រតូចៗក្នុងប្រព័ន្ធ IoT ដែលមិនអាចដំណើរការកម្មវិធីធំៗបាន។ ដូចជាទូរស័ព្ទចុចប៊ូតុងជំនាន់ចាស់ ដែលមិនអាចបើកកម្មវិធីធំៗ ឬលេងហ្គេមបាន ផ្ទុយពីស្មាតហ្វូនទំនើប។
Confusion and diffusion ជាគោលការណ៍គ្រឹះនៃកូដសម្ងាត់ ដែល 'Confusion' ធ្វើឲ្យទំនាក់ទំនងរវាងសោរ និងទិន្នន័យកូដមានភាពស្មុគស្មាញរកតម្រុយមិនឃើញ ហើយ 'Diffusion' ធ្វើឲ្យការផ្លាស់ប្តូរទិន្នន័យដើមតែមួយប៊ីត នាំឲ្យទិន្នន័យកូដប្រែប្រួលស្ទើរតែទាំងអស់។ ដូចជាការធ្វើនំខេក៖ Confusion គឺការលាយគ្រឿងផ្សំឲ្យបាត់រូបរាងដើម ចំណែក Diffusion គឺការបន្តក់ល័ក្តពណ៌មួយតំណក់ ដែលវាសាយភាយធ្វើឲ្យនំទាំងមូលប្រែពណ៌។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖