9. Cấu trúc của Luận án
2.2.2. Ứng dụng của VMD
2.2.2.1. VMD để giảm nhiễu cho vết điện năng tiêu thụ
Trong kỹ thuật VMD trước tiên tín hiệu gốc được phân tích thành các mode 𝑢𝑞(𝑡), mỗi mode có băng thông hạn chế và được tập trung xung quanh một tần số trung tâm 𝑓𝑞. Quá trình này được thực hiện với các thao tác tiền xử lý tín hiệu và làm mịn tín hiệu thông qua các bộ lọc với cửa sổ Gaussian. Điều này cho phép thuật toán VMD có thể phân biệt được tín hiệu gốc từ tín hiệu chứa nhiễu bằng cách đảm bảo tín hiệu được tái tạo nằm trong ranh giới đã cho, tức là ranh giới của tín hiệu ban đầu. Sau quá trình phân tách tín hiệu thành các mode, mỗi mode được tính toán bằng cách áp dụng biến đổi Hilbert trên tín hiệu phân tích, phổ tần số của các mode được chuyển sang băng tần cơ sở. Kế đến là quá trình tối ưu các mode bởi thuật toán ADMM. Trong quá trình này, bộ lọc Wiener là phần không thể thiếu của quá trình cập nhật các mode với phần dư tín hiệu được lọc. Thuật toán tập trung vào việc phân rã một cách đệ quy một tín hiệu thành các mode khác nhau của các dải phổ riêng biệt và không cho phép sửa lỗi ngược. Trong trường hợp của thuật toán VMD, tín hiệu đầu vào được phân tách thành một số mode rời rạc phân biệt về dải phổ trong khi tái tạo đầu vào. Cả quy trình làm mịn cửa sổ Gaussian và quy trình lọc Wiener đều là chìa khóa cho hiệu quả của VMD, đặc biệt ở khả năng lọc nhiễu tín hiệu.
Để đánh giá khả năng lọc nhiễu của VMD cho các vết điện năng tiêu thụ. Một nhiễu Gausse trắng có 𝑆𝑁𝑅𝑣 được thêm vào vết điện năng tiêu thụ. Kế đến tiến hành phân tích vết điện năng tiêu thụ thành các mode rồi tiến hành xác định vết điện năng tiêu thụ khôi phục và đánh giá khả năng lọc nhiễu của VMD thông qua các tham số: tỷ số tín hiệu trên nhiễu (SNR) và lỗi bình phương trung bình (MSE) được sử dụng để định lượng. Các tham số này được tính như sau:
𝑆𝑁𝑅 = 10 log ( ∑ 𝑓 2(𝑖) 𝑛 𝑖=1 ∑𝑛 |𝑓(𝑖) − 𝑔(𝑖)|2 𝑖=1 ) (2.10) 𝑀𝑆𝐸 = 1 𝑁∑(𝑓(𝑖) − 𝑔(𝑖))2 𝑁 𝑖=1 (2.11) Trong đó, 𝑓(𝑖) và 𝑔(𝑖) tương ứng là tín hiệu hiệu gốc và tín hiệu khôi phục.
Kết quả tính toán được cho bởi Bảng 2.1, khi nhiễu được cộng vào vết điện năng tiêu thụ gốc có độ lớn tăng dần, giá trị 𝑆𝑁𝑅 giảm dần nhưng giá trị giảm thấp hơn so
với 𝑆𝑁𝑅𝑣. Điều này chứng tỏ khi có nhiễu được thêm vào tín hiệu gốc, nhiễu này sẽ bị loại bỏ một phần khi tín hiệu được khôi phục lại từ các VMD mode và do đó bằng thực nghiệm có thể minh chứng cho khả năng loại nhiễu khi sử dụng VMD. Ngoài ra, giá trị 𝑀𝑆𝐸 trong các trường hợp là khá nhỏ chứng tỏ việc khôi phục tín hiệu từ các VMD có thể tin cậy được.
Bảng 2.1. Khả năng lọc nhiễu của VMD
𝑺𝑵𝑹𝒗(𝒅𝑩) 𝑺𝑵𝑹(𝒅𝑩) Độ giảm SNR 𝑴𝑺𝑬
Trace gốc 14.9670 \ 1.5021e-05
20 14.6735 0.2935 1.6173e-05
10 12.8799 2.0871 2.6608e-05
5 12.6888 2.2782 3.2291e-05
2.2.2.2. VMD để lựa chọn thông tin có ích từ vết điện năng tiêu thụ
Vết điện năng tiêu thụ thu được từ thiết bị mật mã là tổng hợp của điện năng tiêu thụ sinh ra bởi các phần mạch điện khác nhau. Do tấn công phân tích điện năng tiêu thụ tập trung vào điện năng tiêu thụ của phần mạch điện xử lý mật mã nên phần thông tin có ích từ vết điện năng tiêu thụ là phần điện năng tiêu thụ do mạch điện xử lý mật mã sinh ra. Kỹ thuật VMD có thể phân tách vết điện năng tiêu thụ thành các thành phần khác nhau được thể hiện ở các VMD mode, nên một trong số các VMD mode sẽ chứa được phần thông tin có ích cho tấn công. Việc lựa chọn VMD mode như vậy sẽ được mô tả ở phần dưới đây.
Tấn công phân tích điện năng tiêu thụ có thể thực hiện được nhờ dựa vào tính chất điện năng tiêu thụ của thiết bị mật mã phụ thuộc vào dữ liệu mà nó xử lý. Các thiết bị mật mã được xây dựng dựa trên các mạch điện công nghệ CMOS. Thành phần chính của điện năng tiêu thụ mạch CMOS là điện năng tiêu thụ động, nó phụ thuộc vào số lần chuyển trạng thái tín hiệu trong mạch điện [35], được mô tả bởi biểu thức (2.12) trong đó: 𝐶 là thành phần điện dung mạch lối ra và điện dung ký sinh của mạch; 𝑉𝑑𝑑 là điện áp nguồn cung cấp; 𝑓: tần số hoạt động; 𝛼 là số lần tín hiệu chuyển mạch.
𝑃đ = 𝛼. 𝐶. 𝑓. 𝑉𝑑𝑑2 (2.12)
Phần lớn điện năng tiêu thụ của các mạch số được tiêu tán ở các thời điểm sườn lên hoặc sườn xuống của xung clock khi các thanh ghi thay đổi giá trị được ghi vào.
Hoạt động này được thể hiện trong dạng sóng của điện năng tiêu thụ động là một đỉnh nhọn tồn tại trong thời gian của sườn lên hoặc xuống của xung clock. Do dó, dạng sóng của điện năng tiêu thụ động được điều khiển bởi tần số clock hoạt động của mạch điện bởi nó cung cấp các tín hiệu đồng bộ cho các trạng thái chuyển mạch của các phần tử logic trong mạch điện. Do đó khi dùng phép biến đổi Fourier để phân tích phổ của dạng sóng điện năng tiêu thụ, sẽ tồn tại thành phần tần số tương ứng tần số clock hoạt động của mạch. Như vậy có thể xem dạng sóng của điện năng tiêu thụ tương ứng với một tín hiệu điều chế biên độ với tần số sóng mang tương ứng là tần số clock hoạt động của hệ thống. Hơn thế nữa, thường để tối ưu hoạt động của các phần mạch điện trong thiết bị, chúng thường được hoạt động với các clock khác nhau bởi hệ thống chia clock, do đó, điện năng tiêu thụ động sẽ là sự kết hợp của một số tín hiệu điều chế biên độ ở những tần số trung tâm khác nhau kết hợp lại. Từ mô tả kết quả việc phân tích vết điện năng tiêu thụ theo tần số và thời gian dựa trên phép biến đổi Fourier thời gian ngắn trên Hình 2.1 có thể thấy rằng sự phân bố độ lớn của vết điện năng tiêu thụ nằm trên những dải tần số khác nhau và hầu như không thay đổi theo thời gian. Trong các dải tần số của vết điện năng tiêu thụ có tần số clock hoạt động của phần mạch điện tấn công. Trên Hình 2.1 đó là dải tần số thứ nhất chứa tần số clock của mạch điện tấn công là 3.75Mhz.
Vết điện năng tiêu thụ Phân tích vết thành Q mode sử dụng VMD VMD mode 2 VMD mode 1 VMD mode Q FFT FFT FFT Quyết định VMD mode ? VMD mode
Hình 2.2. Sơ đồ lựa chọn VMD mode cho vết điện năng tiêu thụ
Như vậy nếu các vết điện năng tiêu thụ được biến đổi thành các VMD mode, một trong số các VMD mode này sẽ có dạng tín hiệu điều chế biên độ với tần số trung tâm tương ứng với tần số clock của phần mạch điện xử lý dữ liệu liên quan đến khóa của thiết bị. VMD mode này sẽ được lựa chọn để thực hiện tấn công CPA, còn các VMD mode được loại bỏ. Điều này có nghĩa các thành phần trên vết điện năng tiêu thụ không liên quan đến những hoạt động với dữ liệu có khóa được loại bỏ khiến thành phần phụ thuộc vào dữ liệu sẽ nổi bật và tấn công sẽ có hiệu quả cao hơn. Quy trình lựa chọn VMD mode cho của vết điện năng tiêu thụ được mô tả trên Hình 2.2 và Thuật toán 2.3. Kỹ thuật VMD được áp dụng đối với vết điện năng tiêu thụ để phân tích chúng thành 𝑄 mode, mỗi mode nằm ở một dải tần số khác nhau. Để xác định được dải tần số mỗi mode, kỹ thuật phân tích phổ tín hiệu dựa trên phép biến đổi FFT được sử dụng. Việc quyết định VMD mode chứa thông tin điện năng tiêu thụ lớn nhất dựa vào phổ tín hiệu của các VMD mode, đó là VMD mode có phổ tần số chứa tần số clock của mạch điện tấn công.
Thuật toán 2.3: Lựa chọn VMD mode.
Đầu vào:Tập vết điện năng tiêu thụ, tham số (𝑄, 𝛼)cho VMD, tần số clock 𝑓𝑐 của mạch điện tấn công.
Đầu ra: VMD mode được chọn.
1. Xác định tín hiệu trung bình, 𝑥, của các vết điện năng tiêu thụ để giảm nhiễu. 2. Phân tách 𝑥 thành 𝑄 VMD mode là: 𝑥1, 𝑥2, … , 𝑥𝑄
3. Xác định dải tần số của 𝑄 mode bằng biến đổi FFT cho tất cả 𝑄 mode. 4. Tìm tần số 𝑓𝑐 trong các dải tần số ở bước 3 và chọn VMD mode có chứa 𝑓𝑐.
Đề xuất phương pháp tấn công không bản mẫu hiệu quả VMD-CPA
Trong các phương pháp tấn công không có bản mẫu, phương pháp tấn công CPA thường được sử dụng. Do đó, trong phần này luận án đề xuất phương pháp tấn công CPA cải tiến được gọi là VMD-CPA. VMD-CPA dựa trên cơ sở tấn công CPA với những cải tiến ở giai đoạn tiền xử lý các vết điện năng tiêu thụ bằng kỹ thuật phân tích mode biến phân nhằm mục đích:
(1) Giảm nhiễu trên vết điện năng tiêu thụ
(2) Trích chọn phần điện năng tiêu thụ có ích từ vết điện năng tiêu thụ
Qua đó hiệu quả của tấn công sẽ tăng lên trên phương diện số vết điện năng tiêu thụ cần để khôi phục khóa của CPA-VMD sẽ ít hơn số vết sử dụng cho CPA. Đặc biệt trong trường hợp vết điện năng tiêu thụ có nhiễu lớn, tấn công CPA-VMD vẫn có khả năng khôi phục được khóa đúng còn CPA thì không tìm được khóa đúng.