Tổng quan nghiên cứu

Sự bùng nổ của mạng lưới Internet vạn vật (IoT) với hơn 15 tỷ thiết bị kết nối trên toàn cầu đòi hỏi các giải pháp bảo mật dữ liệu vừa an toàn, vừa tối ưu tài nguyên phần cứng. Trong bối cảnh đó, mật mã đường cong Elliptic (ECC) trở thành chuẩn mực hàng đầu nhờ khả năng cung cấp độ an toàn tương đương thuật toán RSA truyền thống nhưng với độ dài khóa ngắn hơn nhiều lần; cụ thể, khóa ECC 256-bit đạt mức bảo mật tương đương khóa RSA 3072-bit, giúp tiết kiệm từ 85% đến 90% không gian lưu trữ và năng lượng tính toán.

Mặc dù hệ mật ECC sở hữu nền tảng toán học vững chắc dựa trên độ khó của bài toán logarit rời rạc trên đường cong Elliptic (ECDLP) với không gian tìm kiếm lên tới $2^{256}$ trạng thái, việc triển khai thuật toán trên các thiết bị vật lý lại đối mặt với hiểm họa nghiêm trọng từ tấn công kênh kề (Side-Channel Attacks - SCA). Khi vi điều khiển thực thi phép nhân vô hướng (Scalar Point Multiplication) – phép toán cốt lõi chiếm hơn 90% thời gian xử lý của ECC, sự biến thiên của dòng điện tiêu thụ có thể làm rò rỉ toàn bộ khóa bí mật.

Nghiên cứu này tập trung phân tích nguyên lý và triển khai thực nghiệm phương pháp tấn công phân tích năng lượng đơn giản (Simple Power Analysis - SPA) lên phép nhân điểm của đường cong chuẩn NIST P-256 trên nền tảng vi điều khiển 8-bit ATmega328P và ATmega2560 (kit Arduino) với tần số xung nhịp 16 MHz. Mục tiêu trọng tâm là đánh giá lỗ hổng rò rỉ thông tin qua một vết năng lượng duy nhất (single power trace), khôi phục 100% các bit của khóa riêng, đồng thời đề xuất và kiểm thử thực nghiệm các giải pháp phòng chống như phương pháp Montgomery Ladder và kỹ thuật chèn lệnh giả Coron nhằm vô hiệu hóa hoàn toàn nguy cơ tấn công kênh kề trên các hệ thống nhúng giới hạn tài nguyên.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng dựa trên hai trụ cột lý thuyết chính: lý thuyết mật mã khóa công khai trên đường cong Elliptic và mô hình tấn công kênh kề phân tích năng lượng do Paul Kocher công bố năm 1999. Đường cong Elliptic trên trường hữu hạn $F_p$ (với $p > 3$) được định nghĩa qua phương trình Weierstrass rút gọn dạng $y^2 = x^3 + Ax + B \pmod p$, thỏa mãn điều kiện không suy biến $4A^3 + 27B^2 \neq 0 \pmod p$. Trong đó, phép nhân điểm $Q = kP$ (với $k$ là số nguyên bí mật độ dài 256-bit và $P$ là điểm cơ sở trên đường cong) được thực thi thông qua thuật toán "Nhân đôi và Cộng" (Double-and-Add).

Mô hình nghiên cứu phân tích năng lượng khai thác hiện tượng vật lý của công nghệ bán dẫn CMOS: sự chuyển đổi trạng thái của các cổng logic trong bộ xử lý khi thực thi các lệnh khác nhau (như cộng điểm và nhân đôi điểm) sẽ tiêu thụ mức điện năng khác biệt. Vết năng lượng (Power Trace) thu được biểu diễn sự tương quan trực tiếp giữa chuỗi lệnh thực thi và năng lượng tiêu thụ theo thời gian. Đường cong chuẩn NIST P-256 được lựa chọn với số nguyên tố $p = 2^{256} - 2^{224} + 2^{192} + 2^{96} - 1$, cung cấp cơ sở toán học chuẩn hóa quốc tế cho các đánh giá mật mã phần cứng.

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

Nghiên cứu sử dụng phương pháp thực nghiệm đo đạc định lượng kết hợp xử lý tín hiệu số. Nguồn dữ liệu thực nghiệm bao gồm hơn 500 vết đo năng lượng tiêu thụ được thu thập trực tiếp từ chân nguồn của vi điều khiển ATmega328P (kit Arduino Uno) và ATmega2560 hoạt động ở điện áp 5V, xung nhịp 16 MHz. Phương pháp lấy mẫu có kiểm soát được thực hiện thông qua việc gắn điện trở shunt nối tiếp với đường nguồn/đất của vi điều khiển và sử dụng đầu dò dao động ký (Oscilloscope probe) có băng thông cao nhằm ghi lại chính xác biên độ sụt áp trong suốt quá trình tính toán phép nhân điểm.

Lý do lựa chọn phương pháp phân tích SPA thay vì các kỹ thuật thống kê phức tạp như DPA (Differential Power Analysis) hay CPA (Correlation Power Analysis) là bởi SPA cho phép giải mã khóa bí mật chỉ từ một vết đo đơn lẻ mà không cần thực hiện hàng nghìn phép đo lặp lại. Chuỗi dữ liệu thô sau khi thu thập được xử lý qua bộ lọc số thông dải Butterworth để loại bỏ nhiễu tần số cao từ môi trường và mạch dao động thạch anh, tiếp theo là thuật toán tách bao hình tín hiệu (Envelope Detection) nhằm làm nổi bật sự khác biệt về hình thái sóng giữa các phép tính Double và Add. Quá trình nghiên cứu và thực nghiệm được tiến hành liên tục trong thời gian 12 tháng tại phòng thí nghiệm chuyên ngành an toàn thông tin.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Thực nghiệm đo đạc và phân tích trên kit vi điều khiển đã chỉ ra ba phát hiện quan trọng:

  • Khôi phục hoàn toàn 256-bit khóa bí mật từ một vết đo: Trên thuật toán Double-and-Add truyền thống, sự phụ thuộc của luồng điều khiển vào giá trị từng bit khóa đã tạo ra dấu vết rõ rệt. Khi bit khóa có giá trị bằng 1, hệ thống thực hiện liên tiếp cả phép nhân đôi điểm (Double) và phép cộng điểm (Add); ngược lại, khi bit khóa bằng 0, hệ thống chỉ thực hiện phép nhân đôi điểm (Double). Chương trình phân tích tín hiệu tự động đã giải mã chính xác 100% toàn bộ chuỗi 256-bit khóa bí mật từ một vết đo duy nhất.
  • Chênh lệch thời gian và năng lượng tiêu thụ đặc trưng: Dạng sóng năng lượng của phép cộng điểm (Add) và phép nhân đôi điểm (Double) có sự phân tách rõ rệt về mặt biên độ và chu kỳ thực thi. Phép tính Add tiêu tốn thời gian thực thi dài hơn phép Double từ 28% đến 35%, đồng thời tạo ra các đỉnh xung dòng điện đặc trưng do số lượng phép toán số học trên trường hữu hạn nhiều hơn.
  • Hiệu quả kháng tấn công vượt trội của các cơ chế bảo vệ: Khi triển khai thuật toán Montgomery Ladder hoặc kỹ thuật chèn lệnh giả Coron (Dummy Addition), chuỗi xung năng lượng trở nên hoàn toàn đồng nhất về hình thái và chu kỳ. Tỷ lệ rò rỉ khóa qua phân tích SPA giảm về mức 0%, vô hiệu hóa hoàn toàn khả năng phân biệt bit 0 và bit 1 từ vết đo năng lượng.

Thảo luận kết quả

Nguyên nhân cốt lõi dẫn đến lỗ hổng SPA trên vi điều khiển AVR 8-bit là cấu trúc tập lệnh và khối xử lý số học (ALU) không được trang bị phần cứng kháng kênh kề. Các thao tác đọc ghi bộ nhớ SRAM và chuyển mạch bus dữ liệu nội bộ tạo ra sự tiêu thụ dòng điện biến thiên tỷ lệ thuận với số lượng bit chuyển trạng thái (Hamming Distance và Hamming Weight).

Khi biểu diễn dữ liệu thực nghiệm trên đồ thị dạng sóng năng lượng theo trục thời gian, sự tương phản thể hiện rất rõ nét: dạng sóng thô trước khi lọc chứa nhiều xung nhiễu với biên độ dao động khoảng 15 mV, nhưng sau khi qua thuật toán lọc và trích xuất bao hình, các khối tính toán Double và Add hiển thị thành các mẫu hình khối chữ nhật và tam giác tách biệt hoàn toàn. Bảng đối sánh thời gian thực thi cho thấy: thuật toán Double-and-Add thông thường có tổng thời gian xử lý dao động từ 1.82 giây đến 2.45 giây (phụ thuộc vào số lượng bit 1 trong khóa), trong khi thuật toán Montgomery Ladder duy trì thời gian thực thi cố định tuyệt đối ở mức 2.64 giây cho mọi khóa 256-bit.

Kết quả này hoàn toàn nhất quán với các nghiên cứu kinh điển của Kocher và Coron, đồng thời chứng minh rằng nguy cơ rò rỉ kênh kề là hiện hữu ngay cả trên các nền tảng phần cứng phổ thông giá rẻ dưới 1.000 USD, không đòi hỏi các hệ thống thiết bị đo đạc phòng lab chuyên dụng đắt tiền.

Đề xuất và khuyến nghị

Nhằm triệt tiêu nguy cơ tấn công phân tích năng lượng trên các thiết bị nhúng và hệ thống IoT, nghiên cứu đưa ra 4 giải pháp cụ thể:

  • Chuẩn hóa thuật toán thực thi đẳng thời (Constant-time Execution): Bắt buộc loại bỏ các cấu trúc rẽ nhánh điều kiện phụ thuộc dữ liệu khóa trong firmware mật mã. Áp dụng cấu trúc Montgomery Ladder hoặc thuật toán Double-and-Add-Always nhằm đảm bảo mọi chu kỳ bit đều thực hiện khối lượng tính toán giống hệt nhau, loại bỏ hoàn toàn sự chênh lệch thời gian thực thi; mục tiêu hoàn thành nâng cấp mã nguồn trong vòng 3 đến 6 tháng bởi các kỹ sư phát triển phần mềm nhúng.
  • Áp dụng kỹ thuật làm mù tọa độ xạ ảnh (Randomized Projective Coordinates): Trước mỗi phép nhân vô hướng, tiến hành ngẫu nhiên hóa tọa độ điểm bằng cách nhân điểm ban đầu $(X, Y, Z)$ với một số ngẫu nhiên $\lambda \in F_p^*$, chuyển đổi thành $(\lambda X, \lambda^2 Y, \lambda Z)$. Kỹ thuật này làm xáo trộn toàn bộ các giá trị trung gian trong quá trình tính toán, đạt hiệu quả che giấu dữ liệu trên 99.9% trước các phép đo năng lượng, thực hiện trong vòng 6 tháng bởi nhóm kiến trúc an toàn thông tin.
  • Tích hợp giải pháp lọc nhiễu và bảo vệ phần cứng trên mạch in PCB: Bổ sung các tụ điện tách dòng (Decoupling Capacitors) có giá trị từ 100 nF đến 10 µF đặt sát chân nguồn vi điều khiển, kết hợp mạch tạo nhiễu ngẫu nhiên (Hardware Noise Generator) nhằm làm suy giảm tỷ số tín hiệu trên nhiễu (SNR) xuống dưới ngưỡng phát hiện của đầu đo (giảm biên độ rò rỉ hơn 15 dB), triển khai trong chu kỳ thiết kế phần cứng từ 9 đến 12 tháng.
  • Xây dựng khung kiểm thử an toàn kênh kề cho thiết bị IoT thương mại: Các cơ quan quản lý tiêu chuẩn và an toàn thông tin cần ban hành quy chuẩn kiểm định bắt buộc về khả năng chống rò rỉ kênh kề (theo tiêu chuẩn ISO/IEC 17825 hoặc NIST FIPS 140-3) đối với mọi thiết bị đầu cuối thông minh trước khi cấp phép lưu hành trên thị trường, lộ trình thực thi từ 12 đến 24 tháng.

Đối tượng nên tham khảo luận văn

Nội dung và kết quả thực nghiệm của luận văn mang lại giá trị thiết thực cho 4 nhóm đối tượng chuyên môn:

  • Kỹ sư phát triển hệ thống nhúng và phần cứng IoT: Nắm vững cơ chế rò rỉ năng lượng vật lý để lập trình firmware an toàn trên các dòng vi điều khiển 8-bit, 16-bit và 32-bit (AVR, ARM Cortex-M), tránh các bẫy rẽ nhánh điều kiện khi cài đặt thư viện mật mã.
  • Chuyên gia kiểm thử an toàn phần cứng (Hardware Security Penetration Testers): Sử dụng toàn bộ sơ đồ kết nối mạch đo, quy trình thu thập vết năng lượng và thuật toán xử lý tín hiệu số trong luận văn như một tài liệu tham chiếu chuẩn để đánh giá lỗ hổng kênh kề trên các sản phẩm thương mại.
  • Nhà phát triển thư viện mật mã học ứng dụng: Tối ưu hóa các gói thư viện mã nguồn mở cho thiết bị tài nguyên thấp (như micro-ecc, TinyCrypt, mbedTLS), tích hợp sẵn các thuật toán nhân điểm kháng SPA như Montgomery Ladder và kỹ thuật làm mù dữ liệu.
  • Giảng viên, học viên cao học và sinh viên ngành An toàn thông tin, Kỹ thuật máy tính: Sử dụng làm tài liệu học tập, nghiên cứu chuyên sâu về mật mã học phần cứng (Hardware Cryptography), phương pháp tấn công phi xâm phạm và kỹ thuật thiết kế vi mạch an toàn.

Câu hỏi thường gặp

Tấn công SPA khác biệt như thế nào so với tấn công phân tích năng lượng vi sai DPA trên hệ mật ECC?

Tấn công SPA chỉ cần từ 1 đến vài vết đo năng lượng để giải mã khóa dựa trên sự khác nhau trực tiếp về chuỗi lệnh thực thi (như phép Double và Add). Ngược lại, tấn công DPA yêu cầu thu thập hàng nghìn vết đo dưới nhiều bản rõ khác nhau và áp dụng các hàm phân tích xác suất thống kê để tìm mối tương quan giữa dữ liệu xử lý bên trong vi điều khiển và điện năng tiêu thụ.

Tại sao hệ mật ECC 256-bit vẫn bị bẻ khóa dù bài toán toán học ECDLP gần như không thể giải được?

Độ an toàn toán học của ECC bảo đảm rằng kẻ tấn công cần tới $2^{128}$ phép tính để phá vỡ khóa bằng thuật toán giải mã lý thuyết. Tuy nhiên, tấn công kênh kề SPA không giải bài toán toán học mà khai thác hiện tượng rò rỉ vật lý qua dòng điện khi chip đang xử lý khóa bí mật, biến bài toán giải mã phức tạp thành việc quan sát chuỗi xung điện trên màn hình đo.

Kit Arduino với chip vi điều khiển 8-bit có phản ánh chính xác nguy cơ an toàn trên các thiết bị thương mại không?

Có. Vi điều khiển ATmega328P sử dụng công nghệ CMOS tiêu chuẩn tương tự như vi xử lý trong hàng triệu thiết bị IoT, khóa cửa thông minh, thiết bị đo đếm điện năng và thẻ thông minh thương mại. Do đó, các lỗ hổng rò rỉ năng lượng phát hiện trên Arduino mang tính đại diện kỹ thuật rất cao cho toàn bộ hệ sinh thái phần cứng nhúng hiện nay.

Chi phí và thiết bị để thực hiện một cuộc tấn công SPA trong thực tế có tốn kém không?

Nghiên cứu chứng minh cuộc tấn công có chi phí rất thấp. Kẻ tấn công không cần phòng thí nghiệm triệu đô mà chỉ cần một máy hiện sóng kỹ thuật số phổ thông trị giá khoảng 500 đến 1.000 USD, một điện trở shunt giá vài nghìn đồng và phần mềm phân tích mã nguồn mở là có thể trích xuất thành công toàn bộ khóa bí mật.

Việc áp dụng thuật toán kháng SPA như Montgomery Ladder có làm suy giảm hiệu năng vi điều khiển không?

Thuật toán Montgomery Ladder làm tăng thời gian xử lý của phép nhân điểm thêm khoảng 15% đến 25% do luôn thực hiện song song cả hai phép tính cho mỗi bit khóa. Tuy nhiên, mức suy giảm hiệu năng này là hoàn toàn chấp nhận được để đổi lấy mức độ an toàn 100% trước nguy cơ rò rỉ khóa bí mật qua kênh kề.

Kết luận

Nghiên cứu đã hoàn thành toàn diện các mục tiêu đề ra với những đóng góp khoa học và thực tiễn nổi bật:

  • Chứng minh thực nghiệm thành công lỗ hổng rò rỉ năng lượng nghiêm trọng của thuật toán nhân điểm Double-and-Add trên đường cong NIST P-256 đối với vi điều khiển 8-bit.
  • Xây dựng hoàn chỉnh quy trình đo đạc tín hiệu vật lý, bộ lọc số Butterworth và thuật toán trích xuất bao hình, giúp khôi phục chính xác 100% chuỗi 256-bit khóa bí mật chỉ từ một vết đo năng lượng đơn lẻ.
  • Triển khai và kiểm thử định lượng hai giải pháp phòng chống hàng đầu là thuật toán Montgomery Ladder và phương pháp Coron Dummy Addition, triệt tiêu hoàn toàn dấu vết rò rỉ SPA.
  • Đánh giá chi tiết sự đánh đổi giữa hiệu năng xử lý (thời gian tính toán tăng từ 15% đến 25%) và mức độ bảo vệ an toàn phần cứng trên môi trường nhúng thực tế.
  • Cung cấp cơ sở dữ liệu thực nghiệm và giải pháp firmware mẫu có giá trị ứng dụng trực tiếp cho các dự án phát triển thiết bị IoT bảo mật cao tại Việt Nam.

Trong giai đoạn 2024–2026, hướng nghiên cứu tiếp theo sẽ mở rộng đánh giá tấn công vi sai DPA/CPA trên các dòng vi điều khiển 32-bit kiến trúc ARM Cortex-M và khảo sát an toàn kênh kề cho các thuật toán mật mã kháng lượng tử (Post-Quantum Cryptography). Các tổ chức và doanh nghiệp phát triển phần cứng cần khẩn trương rà soát firmware, áp dụng các thuật toán thực thi đẳng thời và chuẩn hóa quy trình kiểm thử kênh kề nhằm đảm bảo an toàn tuyệt đối cho các hệ thống thông tin trọng yếu.