Luận án tiến sĩ kỹ thuật 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

Luận án tiến sĩ nghiên cứu kỹ thuật nghiên cứu giải pháp cải thiện kết quả sử dụng mật mã đường cong elliptic trên các thiết, phát triển phương pháp mới, đánh giá hiệu quả ứng

Chuyên ngành

Mật mã đường cong Elliptic

Người đăng

Ẩn danh

Thể loại

luận án
133
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: TỔNG QUAN CÁC VẤN ĐỀ NGHIÊN CỨU

1.1. Hệ thống nhúng

1.2. Bộ vi xử lý ARM trong hệ thống nhúng

1.3. Kiến trúc ARM (Advanced RISC Machine)

1.4. Các vi xử lý ARM trong thực tế

1.5. Kiến trúc mở rộng NEON cho ARM

1.6. Lập trình NEON trên kiến trúc ARM

1.7. An toàn và bảo mật thông tin trên hệ thống nhúng

1.8. Các thách thức khi xây dựng hệ thống nhúng

1.9. Mật mã trên hệ thống nhúng

1.10. Hệ mật đường cong Elliptic và ứng dụng

1.10.1. Cách biểu diễn điểm trên trường hữu hạn

1.10.2. Ứng dụng của hệ mật dựa trên đường cong Elliptic

1.10.3. Ứng dụng ECDH và ECDSA trong bảo mật truyền dữ liệu trên thiết bị nhúng

1.11. Hiệu quả sử dụng mật mã đường cong Elliptic trên thiết bị nhúng và các nghiên cứu liên quan

1.11.1. Sử dụng mật mã đường cong Elliptic trên thiết bị nhúng

1.11.2. Các nghiên cứu liên quan

1.11.3. Đánh giá, nhận xét

1.12. Các nền tảng phần cứng sử dụng trong luận án

1.13. Kết luận chương 1

2. CHƯƠNG 2: NÂNG CAO HIỆU QUẢ CỦA PHÉP NHÂN SỐ HỌC TRONG TRƯỜNG NHỊ PHÂN TRÊN VI XỬ LÝ ARM

2.1. Phép nhân và phép cộng số học cơ bản trong trường hữu hạn

2.2. Phép nhân phổ thông

2.3. Phép nhân số nguyên lớn trong trường nguyên tố

2.4. Phép nhân trong trường nhị phân

2.5. Xác định tỷ số giữa phép nhân và phép cộng trên vi xử lý ARMv7/v8

2.6. Nhân phân tầng trong trường hữu hạn

2.6.1. Số nguyên lớn và việc xử lý trên các số nguyên lớn

2.6.2. Thuật toán nhân số lớn

2.6.3. Mô tả thuật toán phân tầng

2.6.4. Một số tính chất về chi phí của thuật toán phân tầng

2.6.5. Thuật toán nhân số nguyên lớn có chi phí thấp nhất

2.6.6. Tìm thuật toán nhân tối ưu cho một số giá trị t với giả thiết m = 2a

2.7. Nhân phân tầng trong trường nhị phân trên vi xử lý ARMv7

2.7.1. Chỉ lệnh nhân nhị phân trong thành phần NEON trên vi xử lý ARMv7

2.7.2. Tham số của đường cong NIST trên các trường nhị phân

2.7.3. Một phương pháp mới để nhân nhanh đa thức trên vi xử lý ARMv7

2.7.4. Thực nghiệm, đánh giá thuật toán đề xuất

2.8. Nhân phân tầng trong trường nhị phân trên vi xử lý ARMv8

2.8.1. Hỗ trợ nhân đa thức nhị phân trên vi xử lý ARMv8

2.8.2. Xây dựng thuật toán nhân đa thức nhị phân phân tầng trên vi xử lý ARMv8

2.8.3. Thực nghiệm và đánh giá thuật toán đề xuất

2.9. Kết luận chương 2

3. CHƯƠNG 3: NÂNG CAO HIỆU QUẢ PHÉP NHÂN VÔ HƯỚNG CỦA HỆ MẬT ECC TRONG TRƯỜNG NGUYÊN TỐ TRÊN VI XỬ LÝ ARM

3.1. Cơ sở để nâng cao hiệu quả của phép nhân điểm vô hướng trên ECC trong trường nguyên tố

3.1.1. Nâng cao hiệu quả của phép tính số học trong trường nguyên tố trên vi xử lý nhúng

3.1.2. Nâng cao hiệu quả của các phép toán số học điểm

3.2. Một số thuật toán nhân điểm vô hướng trên đường cong Elliptic

3.2.1. Thuật toán nhị phân Right – to – Left

3.2.2. Thuật toán NAF (non-adjacent form)

3.2.3. Thuật toán NAF cửa sổ trượt cho tính phép nhân vô hướng trên đường cong Elliptic

3.2.3.1. Mở rộng cho dạng biểu diễn NAF của số nguyên dương

3.3. Dạng không liền kề (NAF)

3.3.1. Thuật toán mới tìm NAF(k)

3.3.2. Dạng biểu diễn hầu không liền kề

3.4. Nâng cao hiệu quả của phép toán số học điểm trên hệ mật ECC trong trường nguyên tố

3.4.1. Các chỉ lệnh sử dụng trên vi xử lý ARM

3.4.2. Đề xuất thuật toán song song hai phép nhân trên trường GF(p)

3.4.3. Cải tiến thuật toán số học trên đường cong Elliptic

3.4.4. Nhân vô hướng

3.4.5. Thử nghiệm và đánh giá

3.4.5.1. Thử nghiệm trên ARMv7
3.4.5.2. Thử nghiệm trên ARMv8

3.5. Kết luận chương 3

3.6. Đóng góp mới của luận án

3.7. Đánh giá ưu nhược điểm của các đề xuất trong luận án và hướng phát triển tiếp theo của đề tài

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Mật mã đường cong elliptic

Mật mã đường cong elliptic (ECC) là một hệ mật mã khóa công khai dựa trên toán học của đường cong elliptic. ECC được ứng dụng rộng rãi trong bảo mật dữ liệu do khả năng cung cấp mức độ an toàn cao với kích thước khóa nhỏ hơn so với các hệ mật khác như RSA. Trên thiết bị nhúng, ECC đặc biệt phù hợp do yêu cầu tài nguyên thấp. Các thuật toán chính của ECC bao gồm ECDH (Elliptic Curve Diffie-Hellman) và ECDSA (Elliptic Curve Digital Signature Algorithm), được sử dụng để trao đổi khóa và xác thực dữ liệu.

1.1. Ứng dụng của ECC trên thiết bị nhúng

ECC được triển khai trên thiết bị nhúng nhờ khả năng tối ưu hóa hiệu suất và tiết kiệm tài nguyên. Các thiết bị như IoT, thẻ thông minh và thiết bị di động thường sử dụng ECC để đảm bảo an toàn thông tin. Các nghiên cứu gần đây tập trung vào việc cải thiện các phép toán cơ bản như phép nhân điểm và phép cộng trên trường hữu hạn để tăng hiệu quả tính toán.

1.2. Thách thức trong triển khai ECC

Mặc dù ECC có nhiều ưu điểm, việc triển khai trên thiết bị nhúng gặp phải các thách thức như hạn chế về tài nguyên, năng lực xử lý và yêu cầu tiêu thụ năng lượng thấp. Các phép toán trên ECC, đặc biệt là phép nhân điểm, tiêu tốn nhiều thời gian và tài nguyên. Điều này đòi hỏi các giải pháp nâng cao hiệu quả để tối ưu hóa các thuật toán và tích hợp chúng vào các giao thức bảo mật.

II. Hiệu quả mật mã trên thiết bị nhúng

Hiệu quả mật mã trên thiết bị nhúng phụ thuộc vào khả năng tối ưu hóa các thuật toán và tận dụng tối đa tài nguyên phần cứng. Các nghiên cứu gần đây tập trung vào việc cải thiện các phép toán cơ bản như phép nhân và phép cộng trên trường hữu hạn. Việc sử dụng các công nghệ như NEONSIMD trên vi xử lý ARM đã giúp tăng đáng kể hiệu suất tính toán.

2.1. Tối ưu hóa phép nhân trên trường nhị phân

Phép nhân trên trường nhị phân là một trong những phép toán quan trọng nhất trong ECC. Các nghiên cứu đã đề xuất các thuật toán như Karatsubaphân tầng để tối ưu hóa phép nhân. Các thuật toán này được tích hợp vào vi xử lý ARMv7 và ARMv8, giúp giảm thời gian tính toán và tiết kiệm tài nguyên.

2.2. Cải tiến thuật toán nhân điểm

Thuật toán nhân điểm là phép toán tiêu tốn nhiều tài nguyên nhất trong ECC. Các nghiên cứu đã đề xuất các cải tiến như sử dụng NAF (Non-Adjacent Form) và wNAF (window NAF) để giảm số lượng phép toán cần thực hiện. Các cải tiến này đã được tích hợp vào các giao thức ECDH và ECDSA, giúp tăng hiệu quả tính toán trên thiết bị nhúng.

III. Giải pháp nâng cao hiệu quả mật mã

Các giải pháp nâng cao hiệu quả mật mã trên thiết bị nhúng tập trung vào việc cải thiện các thuật toán và tận dụng tối đa tài nguyên phần cứng. Các nghiên cứu đã đề xuất các phương pháp như tối ưu hóa phép nhân, sử dụng các công nghệ hỗ trợ tính toán nhanh và tích hợp các thuật toán vào các giao thức bảo mật.

3.1. Sử dụng công nghệ NEON và SIMD

Công nghệ NEONSIMD trên vi xử lý ARM cho phép thực hiện song song các phép toán, giúp tăng hiệu suất tính toán. Các nghiên cứu đã tích hợp các công nghệ này vào các thuật toán ECC, giúp giảm thời gian tính toán và tiết kiệm tài nguyên trên thiết bị nhúng.

3.2. Tích hợp thuật toán vào giao thức bảo mật

Các thuật toán ECC đã được tích hợp vào các giao thức bảo mật như ECDHECDSA. Các nghiên cứu đã đề xuất các cải tiến để tối ưu hóa các giao thức này trên thiết bị nhúng, giúp tăng hiệu quả tính toán và đảm bảo an toàn thông tin.

01/03/2025
Luận án tiến sĩ kỹ thuật 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 đi sâu phân tích các yêu cầu cần bảo mật dữ liệu trên nền thiết bị nhúng, các giải pháp nâng cao hiệu quả hệ mật khóa công khai Elliptic trên nền các thiết bị nhúng (cải tiến thuật toán, sử dụng các tham số đặc biệt; sử dụng các thành phần tính toán nhanh GPU, DSP, FPGA; sử dụng các đồng xử lý. Trong các giải pháp này, luận án cũng đã phân tích những ưu điểm và hạn chế của từng phương pháp. Trên cơ sở đó, luận án sẽ tập trung vào đề xuất hướng nghiên cứu của luận án. Nâng cao hiệu quả của phép nhân số học trong trường nhị phân trên vi xử lý ARM Nội dung thứ nhất của chương 2 là sẽ nghiên cứu, phân tích và đánh giá về mặt hiệu năng của một số phương pháp để thực hiện phép tính nhân trong trường hữu hạn (cả trường nhị phân và trường nguyên tố).

Nội dung chính của chương này sẽ nghiên cứu và đề xuất: a)Nghiên cứu, đề xuất phương pháp đánh giá chi phí của thuật toán nhân số lớn mà chỉ phụ thuộc vào phép cộng cơ bản, b) Phương pháp nhân hai số hạng trên trường hữu hạn, gọi là phương pháp phân tầng. Với phương pháp phân tầng, ta có thể xây dựng được thuật toán nhân có chi phí tốt nhất trong các trường hợp cụ thể. Dựa trên thuật toán nhân phân tầng đề xuất, các đề xuất áp dụng cụ thể để nhân hai đa thức trong trường nhị phân dựa trên kết hợp giữa thuật toán Karatsuba, bộ nhân 128-bit và bộ nhân 192-bit trên vi xử lý ARMv7 và ARMv8. Nâng cao hiệu quả phép nhân vô hướng của hệ mật ECC trong trường nguyên tố trên vi vử lý ARM Chương 3 của luận án tập trung các giải pháp cải tiến hiệu năng cho các thuật toán mật mã dựa trên đường cong Elliptic trên trường số nguyên tố dựa trên hai cải tiến là: Đề xuất cải tiến thuật toán NAF và giải pháp nâng cao hiệu quả của các phép toán số học (cộng, nhân đôi và nhân vô hướng) trên đường cong Elliptic trong trường số nguyên tố bằng phương pháp song song hai phép nhân đồng thời.

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) 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. 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 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 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.

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

Tài liệu "Giải pháp nâng cao hiệu quả mật mã đường cong elliptic trên thiết bị nhúng" tập trung vào việc tối ưu hóa các thuật toán mật mã dựa trên đường cong elliptic (ECC) cho các thiết bị nhúng, vốn có tài nguyên hạn chế. Nó đề xuất các phương pháp cải thiện hiệu suất tính toán và tiết kiệm năng lượng, đồng thời đảm bảo độ bảo mật cao. Điều này mang lại lợi ích lớn cho các nhà phát triển và kỹ sư đang làm việc trong lĩnh vực IoT và hệ thống nhúng, giúp họ triển khai các giải pháp bảo mật hiệu quả hơn.

Để mở rộng kiến thức về các thuật toán mã hóa và bảo mật, bạn có thể tham khảo Nghiên cứu thuật toán mã hóa có xác thực deoxysii luận văn thạc sĩ, tài liệu này đi sâu vào các thuật toán mã hóa hiện đại với cơ chế xác thực. Ngoài ra, Tùy biến thuật toán mã khối cho bộ thư viện openssl luận văn thạc sĩ cung cấp góc nhìn về việc tùy chỉnh thuật toán mã khối để tăng cường bảo mật. Cuối cùng, Luận văn thạc sĩ xây dựng và đánh giá hệ mật affine elgamal trên zp sẽ giúp bạn hiểu rõ hơn về các hệ mật toán học ứng dụng trong bảo mật. Mỗi tài liệu này là cơ hội để bạn khám phá sâu hơn về thế giới mã hóa và bảo mật dữ liệu.