Trong thời đại công nghệ số, việc bảo mật thiết bị phần cứng trở nên cấp thiết hơn bao giờ hết. Các giải pháp bảo mật phần cứng đóng vai trò quan trọng trong việc ngăn chặn truy cập trái phép và bảo vệ dữ liệu nhạy cảm. Các phương pháp kiểm tra bảo mật phần cứng hiện này là tấn công kênh bên (side channel attack) và tiêm lỗi (Fault Injection).
Side-channel attack (SCA) là gì
Tấn công kênh bên (Side-channel attack) là kỹ thuật khai thác lỗ hổng bảo mật không bằng cách tấn công trực tiếp vào phần mềm hoặc thuật toán, mà thông qua các thông tin bị rò rỉ ngoài ý muốn trong quá trình thiết bị hoạt động. Đây được xem như các tín hiệu ngoài ý muốn (unintended interface) được hình thành từ quá trình triển khai vật lý (physical implementation) của thiết bị, cho phép kẻ tấn công quan sát hoặc thao túng hệ thống. Các cuộc tấn công dạng này thường dựa vào các hiện tượng vật lý như mức tiêu thụ điện năng, bức xạ điện từ, hay độ trễ thời gian để trích xuất thông tin nhạy cảm như khóa mã hóa (encryption key) hoặc khóa xác thực (signing key).
Fault Injection (FI) là gì
Tiêm lỗi (Fault Injection) là một kỹ thuật tấn công nhằm đánh giá và khai thác độ tin cậy của hệ thống bằng cách cố ý tạo ra các lỗi hoặc điều kiện bất thường trong môi trường hoạt động. Kỹ thuật này dựa trên nguyên tắc rằng các hệ thống bán dẫn chỉ hoạt động ổn định trong một phạm vi giới hạn nghiêm ngặt của các tham số như điện áp, dòng điện, tần số hoặc nhiệt độ. Khi các thông số này bị điều chỉnh vượt ngưỡng – dù chỉ trong thời gian rất ngắn – có thể dẫn đến lỗi phần cứng và gây ra sự cố trong phần mềm. Kẻ tấn công lợi dụng điều này để gây ra hành vi bất thường bằng cách tinh chỉnh các điều kiện đó với giá trị thích hợp ở một thời điểm chính xác. Mục tiêu có thể là phá vỡ các cơ chế bảo mật, trích xuất khóa mã hóa, hoặc buộc hệ thống hoạt động sai lệch. Ngoài mục đích tấn công, tiêm lỗi còn được sử dụng trong thử nghiệm để xác định điểm yếu và đánh giá khả năng chịu lỗi của hệ thống.
Các hệ thống công nghệ hiện đại như vệ tinh Starlink, vi xử lý AMD, ô tô điện Tesla và camera IoT đều từng trở thành mục tiêu của các cuộc tấn công dựa trên phân tích kênh kề (SCA) và tiêm lỗi (Fault Injection – FI). Với Starlink, các nhà nghiên cứu đã khai thác SCA để trích lộ khóa mã hóa trong modem thông qua đo đạc điện từ và FI để gây ra lỗi phần cứng, vượt qua các biện pháp bảo vệ. Bộ xử lý AMD cũng từng bị tấn công bằng SCA, như đo dòng hoặc thời gian thực thi để trích xuất khóa RSA/AES, và FI bằng tia laser hoặc glitch điện áp để bỏ qua xác thực phần mềm. Tesla từng bị phát hiện dễ bị tấn công qua SCA trên chip khóa điều khiển, giúp kẻ tấn công sao chép khóa xe hoặc thay đổi phần mềm. Camera IoT, vốn bảo mật kém, bị lợi dụng SCA để đọc mật khẩu lưu trữ trong flash và FI để phá cơ chế khởi động an toàn, chèn firmware độc hại. Những trường hợp này cho thấy các hệ thống tưởng chừng “cứng cáp” vẫn dễ dàng bị đột nhập khi thiếu bảo vệ chống SCA/FI, đe dọa tính an toàn và riêng tư của người dùng. Các nghiên cứu đã cảnh báo ngành công nghiệp cần tích hợp bảo vệ vật lý và logic ngay từ thiết kế để giảm thiểu rủi ro từ các kỹ thuật tấn công tinh vi này.
Các thiết bị phần cứng của Keysight về kênh bên và tiêm lỗi
Mô tả các giải pháp Tấn công Kênh bên SCA: 4 phương pháp được áp dụng
Side Channel Analysis (SCA) là kỹ thuật tấn công nhằm khai thác các tín hiệu vật lý như điện năng tiêu thụ, bức xạ điện từ hoặc thời gian xử lý để suy đoán thông tin bí mật từ thiết bị mã hóa. Bốn phương pháp phổ biến trong SCA là: Simple Power Analysis (SPA), Correlation Power Analysis (CPA), Template Attack (TA) và Deep Learning Attack (DLA). Ngoài ra bài viết sẽ trình bày sơ lược quy trình trước khi tấn công gồm ba bước: chuẩn bị hệ thống (setup), thu thập dữ liệu (acquisition) và xử lý – phân tích (processing).
Quy trình thực hiện tấn công SCA
Setup – Chuẩn bị hệ thống
Quá trình bắt đầu bằng việc thiết lập hệ thống đo lường để thu thập tín hiệu rò rỉ:
- Thiết bị mục tiêu: Vi điều khiển hoặc chip thực hiện các thuật toán mã hóa như AES, RSA, ECC…
- Thiết bị đo: Máy hiện sóng hoặc thiết bị thu EM.
- Đầu dò (probe): Đặt gần mạch xử lý để đo tín hiệu điện hoặc từ.
- Trigger: Đồng bộ thời điểm đo với quá trình mã hóa trên thiết bị.
Thiết lập này cần đảm bảo tín hiệu thu được đủ rõ và không bị nhiễu để phục vụ cho phân tích sau này..
Acquisition – Thu thập dữ liệu
Ở giai đoạn này, attacker tiến hành thu nhập dữ liệu rò rỉ trên thiết bị với nhiều input đã biết (plaintext) và thu lại hàng ngàn trace điện:
- Mỗi trace là một biểu đồ tín hiệu theo thời gian.
- Có thể dùng script điều khiển thiết bị để tự động hóa quá trình.
Số lượng trace cần thu thập tùy thuộc vào phương pháp tấn công – trong khi SPA có thể chỉ cần một vài trace, CPA và DLA có thể yêu cầu từ hàng nghìn đến hàng chục nghìn mẫu
Processing – Phân tích và tấn công
Giai đoạn cuối cùng là xử lý và phân tích các trace thu được để trích xuất khóa bí mật. Việc này thường bao gồm bước tiền xử lý như lọc nhiễu, căn chỉnh (alignment) hoặc lựa chọn điểm rò rỉ quan trọng (points of interest – POIs), tiếp theo là áp dụng một trong bốn phương pháp tấn công dưới đây
Các phương pháp tấn công SCA
Simple Power Analysis (SPA)
Simple Power Analysis là kỹ thuật phân tích trực tiếp biểu đồ tiêu thụ điện năng từ một hoặc một vài trace duy nhất. Phương pháp này khai thác sự khác biệt rõ rệt trong mức tiêu thụ năng lượng khi thiết bị thực hiện các phép toán khác nhau, như cộng, nhân, kiểm tra điều kiện hoặc phép XOR. Bằng cách quan sát sự thay đổi tín hiệu theo thời gian, người tấn công có thể suy luận được các thao tác cụ thể mà thiết bị đang thực hiện và từ đó phán đoán giá trị của dữ liệu bên trong.
Một ví dụ điển hình là tấn công vào quá trình kiểm tra mã PIN: nếu thiết bị kiểm tra từng chữ số từ trái sang phải, thì biểu đồ tín hiệu có thể phản ánh đúng vị trí và giá trị mà việc giải mã xảy ra chính xác, cho phép đoán từng số một cách tuần tự. Nhìn vào bảng trace thu được sau đây, với mỗi giá trị mã PIN được chọn đúng, xung liền kề sẽ được đẩy lên cao. SPA có ưu điểm là dễ thực hiện, không cần nhiều dữ liệu, nhưng cũng rất dễ bị vô hiệu hóa bởi các biện pháp chống nhiễu và random hóa đơn giản.
Correlation Power Analysis (CPA)
CPA sử dụng mô hình rò rỉ công suất và phân tích thống kê để tìm khóa. Tấn công side-channel dựa trên tương quan công suất (CPA – Correlation Power Analysis) là một kỹ thuật mạnh để truy xuất khóa bí mật của thuật. Bằng cách đo đạc tín hiệu vật lý (như tiêu thụ điện năng hoặc bức xạ điện từ) từ thiết bị mã hóa, kẻ tấn công có thể suy đoán khóa thông qua phân tích thống kê.
- Dựa trên giả định về một phần khóa mã hóa, tính toán giá trị trung gian (ví dụ: output S-box trong AES).
- So sánh hệ số tương quan giữa giá trị trung gian và trace thực để tìm ra khóa đúng.
- Phương pháp hiệu quả, phổ biến trong thực tế, nhưng yêu cầu đồng bộ trace và nhiều dữ liệu.
Trong bài viết này, chúng ta sẽ tìm hiểu cách một cuộc tấn công phân tích tương quan công suất (CPA – Correlation Power Analysis) được thực hiện để tìm ra khóa bí mật của AES-128 bằng cách phân tích sự tương quan giữa dữ liệu đầu vào, giả định khóa, và các dấu vết điện từ thực tế đo được trong quá trình mã hóa.
Hình trên minh họa quy trình tấn công một cách trực quan:

Dữ liệu đầu vào (Plaintext) (Known – đã biết )
Để thực hiện tấn công CPA, ta cần một số lượng dữ liệu đầu vào plaintext 128 bit – tức là các dữ liệu rõ ràng – được đưa vào thiết bị để mã hóa bằng AES-128. Những plaintext này đều do người tấn công cung cấp hoặc thu thập từ quá trình giao tiếp đã ghi lại.
Dấu vết rò rỉ điện từ (EM Trace)
Trong khi thiết bị đang thực hiện mã hóa từng plaintext, người tấn công sẽ dùng thiết bị thu tín hiệu điện từ (ví dụ: đầu dò EM) để ghi lại tín hiệu phát ra. Mỗi lần mã hóa cho ra một “dấu vết” – giống như một biểu đồ thể hiện năng lượng tiêu thụ tại từng thời điểm. Hình dung mỗi dấu vết giống như một đoạn xung nhịp – thể hiện hoạt động nội bộ của thiết bị trong thời gian mã hóa.
Khóa mã hóa (Unknown Real Key)
Khóa thật mà thiết bị đang sử dụng là điều mà kẻ tấn công muốn tìm ra. Tuy nhiên, ta không biết giá trị này trước – mục tiêu của CPA là tìm ra nó bằng cách thử tất cả khả năng có thể cho từng phần nhỏ của khóa.
Khóa mã hóa dự đoán (Guess Key)
Là việc giả định các giá trị của khóa bằng cách thử lần lượt từng vị trí trong khóa các giá trị có thể xảy ra
Ý tưởng tấn công CPA
CPA không cố gắng tìm cả khóa 128-bit một lúc. Thay vào đó, nó sẽ xử lý từng byte (8 bit) của khóa một cách riêng biệt. Với mỗi byte, người tấn công sẽ:
Đoán giá trị khóa: Giả định rằng byte khóa đó có một trong 256 giá trị có thể (0 đến 255).
Mô phỏng hoạt động thiết bị: Với mỗi giá trị khóa giả định, người tấn công tính toán đầu ra trung gian (intermediate) trong quá trình AES (cụ thể là sau khi XOR plaintext với khóa và qua bảng S-box). Tính toán mức tiêu thụ năng lượng lý thuyết: Dựa trên đầu ra trung gian đó, người tấn công ước lượng số bit thay đổi trong thiết bị – điều này được cho là tương ứng với công suất tiêu thụ.
So sánh tương quan với thực tế (correlation): Người tấn công so sánh sự thay đổi lý thuyết đó với các tín hiệu thực thu được để xem giá trị nào khớp nhất. Khi guessed key là đúng, tương quan giữa mô hình và EM trace tăng hoặc giảm tuyến tính rõ rệt, thể hiện bằng một đỉnh cao tại một thời điểm cụ thể. Giá trị nào có mức tương quan cao nhất với tín hiệu thật thường chính là giá trị đúng của byte khóa. Khi guessed key đúng, tín hiệu mô phỏng sẽ khớp với tín hiệu thực tại một vị trí nhất định trên EM trace → giá trị tương quan sẽ tăng mạnh tại thời điểm đó.. Sau khi thực hiện quá trình trên cho từng byte, kẻ tấn công dần dần thu được toàn bộ 16 byte của khóa AES-128.
Template Attack (TA)
Tấn công theo mẫu (Template Attack) giả định rằng các rò rỉ vật lý từ thiết bị (ví dụ như dao động điện năng, đột biến dòng điện, rò rỉ phát xạ điện từ EM) có liên hệ thống kê với các giá trị trung gian bên trong thuật toán mã hóa (như đầu ra của S-Box trong AES hay phép XOR với khóa con, đây thường là nơi liên quan trực tiếp đến khóa bí mật). TA là tấn công thống kê dựa trên mô hình xác suất từ thiết bị giống mục tiêu.
- Phương pháp này gồm 3 giai đoạn: Thu thập dữ liệu, xây dựng mô hình (Template) và áp dụng để tấn công
- Khi chip thực hiện tính toán (ví dụ mã hóa AES), nó tiêu thụ điện năng khác nhau tùy vào dữ liệu đang xử lý. Ví dụ: khi xử lý một số bit là 1 thì dòng điện tăng cao hơn. Giai đoạn “profiling” thu trace từ thiết bị mẫu để tạo template (thống kê mean, covariance) nhờ biết trước khóa và quan sát rò rỉ tương ứng với các giá trị trung gian khác nhau → tạo ra mẫu thống kê cho từng giá trị trung gian
- Trong giai đoạn đầu, kẻ tấn công thực hiện nhiều lần mã hóa (hoặc thao tác mật mã) với các khóa và dữ liệu đã biết, ghi lại các tín hiệu rò rỉ (như điện từ hoặc công suất). Từ đó, các giá trị trung gian trong thuật toán được liên kết với mẫu dấu vết cụ thể – gọi là template. Đây là bước mất nhiều thời gian nhất, vì cần thu thập và xử lý hàng ngàn trace để tạo các mô hình chính xác.
- Sau đó so sánh template với trace thực để tìm giá trị phù hợp nhất. (suy ra giá trị trung gian) -> Từ đó dò ra khóa bí mật
- Ưu điểm là độ chính xác cao và ít phụ thuộc mô hình rò rỉ cụ thể.
- Nhược điểm là cần thiết bị huấn luyện giống hệt và tốn thời gian tạo mẫu.
Deep Learning Attack (DLA)
DLA sử dụng mạng nơ-ron để học trực tiếp mối quan hệ giữa trace và khóa.
Ảnh trên minh họa kiến trúc của một mạng Convolutional Neural Network (CNN), thường dùng để xử lý dữ liệu có cấu trúc không gian như ảnh hoặc tín hiệu công suất (power traces) trong tấn công kênh bên. sẽ học đặc trưng từ các trace, phát hiện ra mối quan hệ giữa biến trung gian (intermediate value) và khóa bí mật. Cuối cùng, nó dự đoán byte khóa đúng dựa vào xác suất cao nhất.
Giải thích ảnh:
Bên trái là đầu vào của mạng – có thể là ảnh hoặc các trace (dạng sóng công suất thu được khi thiết bị thực hiện mã hóa). Các khối màu xanh dương: các lớp convolution + ReLU – chịu trách nhiệm trích xuất đặc trưng quan trọng từ dữ liệu đầu vào. Các khối màu đỏ: max pooling – giúp giảm kích thước dữ liệu, loại bỏ nhiễu và giữ lại thông tin quan trọng nhất. Các khối màu xanh lá: các lớp fully connected + ReLU – giống như một mạng nơ-ron truyền thống, kết nối toàn bộ đầu ra trước đó để đưa ra dự đoán cuối cùng. fc6, fc7, fc8: là các lớp đầu ra, nơi mạng đưa ra xác suất cho từng giá trị khóa khả thi (ví dụ: giá trị 0–255 của một byte khóa).
- Không cần giả định mô hình rò rỉ hay chọn POI thủ công.
- Có thể vượt qua nhiều biện pháp phòng thủ
- Tuy nhiên, cần lượng dữ liệu lớn, thời gian huấn luyện dài, và tài nguyên tính toán cao (GPU).
Kết luận
Tấn công SCA cho thấy rằng bảo mật phần cứng không chỉ phụ thuộc vào thuật toán, mà còn vào cách triển khai vật lý. Từ các phương pháp đơn giản như SPA đến các kỹ thuật hiện đại như DLA, attacker ngày càng có nhiều công cụ mạnh mẽ để phân tích và phá vỡ hệ thống mã hóa. Việc hiểu rõ đặc điểm từng kỹ thuật sẽ giúp các kỹ sư bảo mật xây dựng hệ thống phòng thủ hiệu quả hơn trước những mối đe dọa thực tế này.