Luận án tiến sĩ nghiên cứu giải pháp nâng cao hiệu quả sử dụng mật mã đường cong elliptic trên các thiết bị tính toán nhúng

Nghiên cứu giải pháp nâng cao hiệu quả sử dụng mật mã đường cong elliptic trên thiết bị tính toán nhúng, góp phần bảo mật thông tin.

Chuyên ngành

Kỹ thuật điện tử

Người đăng

Ẩn danh

Thể loại

luận án tiến sĩ

2022

135
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: MỞ ĐẦU

1.1. Lý do chọn đề tài

1.2. Mục tiêu nghiên cứu

1.3. Đối tượng nghiên cứu

1.4. Phạm vi nghiên cứu

1.5. Phương pháp nghiên cứu

1.6. Nội dung

1.7. Ý nghĩa khoa học và thực tiễn

1.8. Bố cục của luận án

Tóm tắt

I. Tổng quan về nâng cao hiệu quả mật mã đường cong elliptic

Mật mã đường cong elliptic (ECC) đã trở thành một trong những phương pháp bảo mật thông tin hiệu quả nhất trong các hệ thống nhúng. Với khả năng cung cấp mức độ bảo mật cao hơn so với các phương pháp truyền thống như RSA, ECC đang được ứng dụng rộng rãi trong các thiết bị IoT và các hệ thống nhúng. Tuy nhiên, việc triển khai ECC trên các thiết bị này gặp nhiều thách thức do hạn chế về tài nguyên và năng lực xử lý. Nghiên cứu này nhằm mục tiêu nâng cao hiệu quả sử dụng ECC trên các thiết bị tính toán nhúng, từ đó đảm bảo an toàn thông tin trong môi trường kết nối không dây.

1.1. Đặc điểm của hệ thống nhúng và mật mã đường cong elliptic

Hệ thống nhúng thường có tài nguyên hạn chế về bộ nhớ và năng lực xử lý. Mật mã đường cong elliptic, với kích thước khóa nhỏ hơn, phù hợp hơn cho các thiết bị này. Việc áp dụng ECC giúp giảm thiểu chi phí tính toán và tăng cường bảo mật thông tin.

1.2. Lợi ích của việc sử dụng mật mã đường cong elliptic

ECC cung cấp mức độ bảo mật cao với kích thước khóa nhỏ, giúp tiết kiệm tài nguyên. Điều này đặc biệt quan trọng trong các thiết bị nhúng, nơi mà hiệu suất và tiêu thụ năng lượng là yếu tố quyết định.

II. Thách thức trong việc nâng cao hiệu quả mật mã đường cong elliptic

Mặc dù ECC có nhiều ưu điểm, nhưng việc triển khai nó trên các thiết bị nhúng vẫn gặp phải nhiều thách thức. Các vấn đề như tốc độ tính toán chậm, tiêu thụ năng lượng cao và khả năng tương thích với các thiết bị khác là những yếu tố cần được giải quyết. Nghiên cứu này sẽ phân tích các thách thức chính và đề xuất giải pháp để khắc phục.

2.1. Tốc độ tính toán và hiệu suất

Tốc độ tính toán của các phép toán trên ECC, đặc biệt là phép nhân điểm, là một trong những yếu tố quan trọng ảnh hưởng đến hiệu suất. Việc tối ưu hóa các thuật toán tính toán là cần thiết để cải thiện tốc độ thực thi.

2.2. Tiêu thụ năng lượng trong hệ thống nhúng

Các thiết bị nhúng thường hoạt động trên nguồn pin hạn chế. Do đó, việc giảm thiểu tiêu thụ năng lượng trong quá trình thực hiện các phép toán mật mã là một thách thức lớn. Nghiên cứu sẽ đề xuất các phương pháp tối ưu hóa để giảm thiểu năng lượng tiêu thụ.

III. Phương pháp nâng cao hiệu quả mật mã đường cong elliptic

Để nâng cao hiệu quả của ECC trên các thiết bị nhúng, cần áp dụng các phương pháp tối ưu hóa thuật toán và cải tiến cấu trúc dữ liệu. Nghiên cứu này sẽ trình bày các phương pháp cụ thể nhằm cải thiện hiệu suất và bảo mật của ECC.

3.1. Tối ưu hóa thuật toán nhân điểm

Các thuật toán nhân điểm như thuật toán nhị phân và NAF (non-adjacent form) sẽ được tối ưu hóa để giảm thiểu thời gian tính toán. Việc áp dụng các kỹ thuật này giúp cải thiện đáng kể hiệu suất của ECC trên các thiết bị nhúng.

3.2. Cải tiến cấu trúc dữ liệu cho ECC

Cấu trúc dữ liệu hiệu quả có thể giúp giảm thiểu chi phí tính toán và tăng tốc độ thực thi. Nghiên cứu sẽ đề xuất các cấu trúc dữ liệu mới phù hợp với đặc điểm của các thiết bị nhúng.

IV. Ứng dụng thực tiễn của mật mã đường cong elliptic

Mật mã đường cong elliptic đã được áp dụng trong nhiều lĩnh vực, từ bảo mật dữ liệu cá nhân đến các giao thức truyền thông an toàn. Nghiên cứu này sẽ trình bày các ứng dụng thực tiễn của ECC trong các thiết bị nhúng và lợi ích mà nó mang lại.

4.1. Ứng dụng trong thiết bị IoT

ECC được sử dụng để bảo mật thông tin trong các thiết bị IoT, giúp ngăn chặn các cuộc tấn công và bảo vệ dữ liệu cá nhân. Việc áp dụng ECC trong các giao thức như ECDH và ECDSA là rất quan trọng.

4.2. Ứng dụng trong giao thức truyền thông

Các giao thức như TLS và IKE sử dụng ECC để đảm bảo an toàn trong việc trao đổi khóa và bảo mật thông tin. Nghiên cứu sẽ phân tích hiệu quả của ECC trong các giao thức này.

V. Kết luận và hướng phát triển tương lai của mật mã đường cong elliptic

Nghiên cứu đã chỉ ra rằng việc nâng cao hiệu quả sử dụng mật mã đường cong elliptic trên các thiết bị nhúng là khả thi thông qua các phương pháp tối ưu hóa thuật toán và cải tiến cấu trúc dữ liệu. Hướng phát triển tương lai sẽ tập trung vào việc nghiên cứu sâu hơn về các thuật toán mới và ứng dụng của ECC trong các lĩnh vực khác.

5.1. Đề xuất nghiên cứu tiếp theo

Nghiên cứu sẽ tiếp tục tìm kiếm các phương pháp mới để cải thiện hiệu suất của ECC, đồng thời mở rộng ứng dụng của nó trong các lĩnh vực khác nhau.

5.2. Tương lai của mật mã đường cong elliptic

Với sự phát triển không ngừng của công nghệ, ECC sẽ tiếp tục đóng vai trò quan trọng trong việc bảo mật thông tin, đặc biệt là trong các thiết bị nhúng và IoT.

16/08/2025
Luận án tiến sĩ nghiên cứu giải pháp nâng cao hiệu quả sử dụng mật mã đường cong elliptic trên các thiết bị tính toán nhúng

Trích đoạn nội dung tài liệu

CHƯƠNG 1. TỔNG QUAN CÁC VẤN ĐỀ NGHIÊN CỨU 1. Hệ thống nhúng Hệ thống nhúng (Embedded System) là một thuật ngữ thường dùng để chỉ một thiết bị tính toán đặc biệt, có tích hợp cả phần cứng và phần mềm phục vụ các ứng dụng chuyên dụng trong nhiều lĩnh vực của đời sống hiện nay. Khác với các hệ thống phổ biến khác, ví dụ như các máy tính đa năng hay nhiều hệ thống máy tính trong điều khiển công nghiệp, các hệ thống nhúng thường có kích thước nhỏ hơn, khả năng xử lý yếu hơn, bộ nhớ nhỏ hơn và yêu cầu tiêu thụ ít năng lượng [10, 11].

Một hệ thống nhúng gồm ba thành phần chính: • Phần cứng • Phần mềm ứng dụng • Hệ điều hành hoặc một hệ thống thời gian thực (RTOS) Phần cứng hệ thống nhúng: Power Management Clocks Reset Control Embedded Flash Interrupt Control System RAM Embedded Processor Peripherals ROM Sensors Analog I/0s Application Specific Hình 1.1: Các thành phần chính trong một phần cứng nhúng Phần cứng của một hệ thống nhúng thông thường gồm các thành phần chính sau: • Quản lý nguồn (Power Management): Chức năng của thành phần này là cung cấp nguồn điện và điều khiển chế độ cấp nguồn nhằm mục đích tối ưu trong tiêu thụ năng lượng. Thành phần này có thể chứa một bộ đồng hồ thời gian thực RTC (Real Time Clock) uan an tien si TIEU LUAN MOI download : skknchat123@gmail.com 7 • Vi xử lý nhúng (Embedded Processor): Đây là trung tâm của bất kỳ một vi điều khiển nào (microcontroller) dựa trên hệ thông nhúng. Các vi xử lý này được tối ưu về kích thước cũng như chức năng riêng biệt cho từng sản phẩm. Đa phần trong lớp vi xử lý này sẽ tích hợp một vài chức năng DSP cơ bản gồm bộ nhân/chia bằng phần cứng.

• Bộ nhớ (System RAM, ROM, Embedded Flash): Thành phần nhớ RAM trong một hệ thống nhúng nên có thời gian truy cập thấp. Một vài vi điều khiển nhúng gồm thành phần ROM để lưu thành phần phần mềm khởi tạo (bootloader), và có bộ nhớ Flash cho phép lập trình chương trình. • Ngoại vi (Peripherals) và I/O: Các ngoại vi là các thiết bị vào và ra được kết nối đến cổng nối tiếp hoặc song song của hệ thống nhúng. Một vi điều khiển truyền thông với các ngoại vi sử dụng một giao tiếp có thể lập trình.

• Đồng hồ thời gian (Timers) và Watchdog: Một bộ vi điều khiển sẽ gồm bộ đếm thời gian khác nhau để xác định sự kiện theo thời gian, ví dụ cho phép hệ thống vào chế độ tiết kiệm năng lượng và thoát khỏi chế độ này. Một bộ đếm thời gian đặc biệt gọi là “watchdog timer” khác, là một phần thiết yếu của bất kỳ hệ thống nhúng được sử dụng để phát hiện và khôi phục chương trình khi chạy một đoạn mã gặp sự cố. • Thành phần cảm biến (Sensors) và tương tự (Analog): Một hệ thống nhúng thường gồm nhiều cảm biến như cảm biến nhiệt độ và các thành phần tương tự như bộ chuyển đổi tương tự - số (ADC), bộ chuyển đổi số - tương tự (DAC)… • Ngoài ra, trong thiết kế phần cứng hệ thống nhúng còn có các thành phần khác như: điều khiển khởi động hệ thống (Reset control), điều khiển ngắt (Interrupt control), thành phần liên quan đến ứng dụng (Application Specific) … Phần mềm ứng dụng và hệ điều hành: Do không có thiết bị ổ cứng trong hệ thống nhúng, nên mã chương trình được lưu ở trong bộ nhớ Flash hoặc bộ nhớ ROM. Trong quá trình thực thi một chương trình, không gian nhớ cho các biến được cấp pháp trong bộ nhớ RAM.

uan an tien si TIEU LUAN MOI download : skknchat123@gmail.com 8 Các ứng dụng hoạt động trên hệ điều hành cơ sở hoặc trên một hệ điều hành thời gian thực RTOS (Real-Time Operating System). Các hệ thống nhúng rất đa dạng, song có đặc điểm chung là được cấu thành từ một bộ xử lý nhúng chuyên dụng, phần mềm sụn (Firmware) lưu trong thành phần nhớ ROM, hoặc Flash và các thành phần đầu vào, đầu ra [1, 10]. Kiến trúc của một hệ thống nhúng được tập trung xung quanh một vi điều khiển (microcontroller), còn được gọi là MCU (MicroController Unit) được tích hợp trên một mạch chứa bộ xử lý, RAM bộ nhớ Flash, và các thành phần lõi khác. Trên thị trường cung cấp nhiều sự lựa chọn khác nhau liên quan đến kiến trúc, hãng, khoảng giá, đặc điểm và các nguồn tài nguyên được tích hợp.

Những thiết kế thông thường có đặc điểm là không đắt, tiêu thụ năng lượng thấp, nguồn tài nguyên thấp và hệ thống trên một mạch tích hợp đơn, vì những lý do này mà chúng thường được gọi là Hệ thống trên Chip (SoC). Có nhiều họ vi xử lý được dùng cho các hệ thống nhúng tới nay, song các bộ vi xử lý ARM là phổ biến nhất cho tới nay [1][2]. Theo thống kê của Arm Holdings, đã có trên 184 tỷ vi xử lý dựa trên ARM đã được sử dụng trên toàn thế giới tính đến năm 2020 [2]. Các vi xử lý này được dùng cho các thiết bị di động, thiết bị IoT, thiết bị nhúng, hệ thống điều khiển thời gian thực… Mặt khác, như đã trình bày ở trên, phần mềm nhúng được thiết kế cần phù hợp với kiến trúc phần cứng cụ thể.

Do vậy, hệ mật mã trong luận án này được phát triển dựa trên bộ xử lý ARM, là nền tảng phần cứng cho các hệ thống nhúng đang được sử dụng phổ biến cho các thiết bị nhúng hiện nay. Trong phần tiếp theo, luận án trình bày về đặc trưng của kiến trúc ARM làm cơ sở cho việc xây dựng và triển khai các thuật toán của luận án. Bộ vi xử lý ARM trong hệ thống nhúng 1. Kiến trúc ARM (Advanced RISC Machine) ARM là viết tắt của Advanced RISC machines, thực chất là một kiến trúc bộ xử lý sử dụng tập lệnh rút gọn (RISC = Reduced Instructions Set Computer).

Kiến trúc RISC tối ưu hóa các đường dẫn trên mạch, giúp giảm mức tiêu thụ điện năng, tiết kiệm diện uan an tien si TIEU LUAN MOI download : skknchat123@gmail.com 9 tích, yêu cầu tản nhiệt thấp, cung cấp mức hiệu suất vượt trội, lý tưởng cho các thiết bị nhỏ gọn có tài nguyên hạn chế. ARM được phát triển bởi Arm Holdings, Ltd. Kiến trúc ARM có một số đặc điểm chính sau [3]: • Vi xử lý ARM có mười sáu thanh ghi 32 bit (r0-r15). • Hỗ trợ các chỉ lệnh có điều kiện.

Các cờ mã điều kiện N, Z, C, V tương ứng N = Kết quả âm từ ALU; Z = kết quả zero từ ALU; C = nhớ ra từ thao tác ALU; V = tràn từ phép toán ALU. • Hỗ trợ hai tập chỉ lệnh là ARM và Thumb2. • Được tích hợp đơn vị xử lý SIMD và VFP (Vector Floating Point) hỗ trợ tập chỉ lệnh NEON và VFPv3 tương ứng. Các vi xử lý ARM trong thực tế Các phiên bản ARM đã được phát triển trải rộng từ ARMv1 (năm 1985) đến ARMv8 (năm 2012) [5], và hiện nay mới nhất ARMv9 (năm 2021).

Các bộ vi xử lý cao cấp ARMv7 đã chiếm lĩnh thị trường điện thoại di động và máy tính bảng. Cortex-A9 được sử dụng rộng rãi trong SoC của các điện thoại di động, gồm 2 lõi vi xử lý Cortex-A9, bộ tăng tốc đồ họa, modem 3G/4G, các thiết bị ngoại vi khác.2 thể hiện sơ đồ khối của dòng vi xử lý Cortex-A9. Các giai đoạn pipeline của vi xử lý loại này gồm: giải mã chỉ lệnh, thực hiện đổi tên thanh ghi, thực thi chỉ lệnh ở dạng không theo trật tự.2: Sơ đồ khối của vi xử lý Cortex-A9 uan an tien si TIEU LUAN MOI download : skknchat123@gmail.com 10 Kiến trúc ARMv8 là kiến trúc 64-bit. Các dòng vi xử lý Cortex-A53 và Cortex-A57 có cơ chế pipeline tương tự như Cortex-A7 và -A15 tương ứng.

Kiến trúc mở rộng NEON cho ARM Kiến trúc tính toán song song đơn lệnh-đa dữ liệu (SIMD = Single Instruction Multiple Data) được đưa vào các bộ vi xử lý ARM từ phiên bản 6 (ARMv6). Từ phiên bản 7 (ARMv7), bộ vi xử lý ARM hỗ trợ engine tích hợp một số thuật toán đã được cứng hóa sẵn được gọi là thành phần NEON. ARM NEON là thành phần mở rộng kiến trúc SIMD cho các bộ vi xử lý ARM họ Cortex-A nhằm tăng cường hỗ trợ cho các ứng dụng đa phương tiện, đặc biệt trong các thiết bị di động. NEON thực chất là thành phần đồng xử lý được tích hợp vào trong các dòng vi xử lý ARM [4], điển hình như Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A53… NEON hỗ trợ các chỉ lệnh SIMD đặc biệt trên các phần tử vector có cùng kiểu dữ liệu và mỗi chỉ lệnh sẽ thực hiện cùng một phép toán trên tất các các làn (lane) của vector đó [19].3: Phép toán cộng 8 bit trên 4 làn sử dụng 1 chỉ lệnh SIMD trên ARMv6 Hình 1.3 biểu thị ví dụ một phép cộng 8 bit trên 4 làn sử dụng 1 chỉ lệnh SIM trên ARMv6.

uan an tien si TIEU LUAN MOI download : skknchat123@gmail. NEON trong ARMv7 ARMv7 có 13 thanh ghi 32 bit cho mục đích chung được ký hiệu là từ R0 – R12. Thành phần NEON trong kiến trúc ARMv7 sử dụng các thanh ghi đặc biệt, những thanh ghi này tách biệt với các thanh ghi mục đích chung và được biểu diễn ở dạng thanh ghi D hai từ (64-bit) hoặc thanh ghi Q 128-bit (bốn từ). Hình dưới đây minh họa cấu trúc thanh ghi trong ARMv7.4: Cấu trúc của các thanh ghi NEON trên ARMv7 Đối với ARMv7 hoặc các bộ vi xử lý ARM có phiên thấp hơn v7, có 16 thanh ghi 128-bit được ký hiệu là từ Q0 đến Q15; hoặc ta có thể coi là 32 thanh ghi 64-bit được ký hiệu D0-D31.

Thanh ghi Q0 twong ứng với D0-D1, thanh ghi Q1 tương ứng với D2-D3,. NEON sử dụng các chỉ lệnh để tải/lưu dữ liệu và xử lý dữ liệu trong những thanh ghi này. Các chỉ lệnh NEON có khả năng thực hiện truy cập bộ nhớ, sao chép dữ liệu giữi thanh ghi NEON và thanh ghi mục đích chung. NEON còn có thể thực hiện chuyển đổi kiểu dữ liệu và xử lý dữ liệu trong các thanh ghi D hoặc Q.

NEON trong ARMv8 ARMv8 có kiến trúc 64-bit, kiến trúc này có tập chỉ lệnh mới (AARCH64). Kiến trúc ARMv8 có 31 thanh ghi mục đích chung (X0-X30), đây là những thanh ghi 64-bit và nửa thấp của mỗi thanh ghi này được ký hiện là W0-W30, được biểu diễn như hình sau: Hình 1.5: Các thanh ghi trong kiến trúc ARMv8 Sự khác nhau chính trong các chỉ lệnh giữa ARMv7 và ARMv8 được thể hiện trong bảng sau: uan an tien si TIEU LUAN MOI download : skknchat123@gmail.1: Sự khác nhau giữa chỉ lệnh trong ARMv7 và ARMv8 Kiến trúc ARMv8 có tập các thanh ghi NEON riêng biệt khác với tập các thanh ghi ARMv7.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ