Bản rõ: 118,139,62,39,57,249,32,182,111,193,121,246,161,95,86,44 #M #3 #2 Bản rõ: 10, 53, 68,163,69,251,44,179,117,51 , 105,94,183,87,11,128 # 1
Hình 1.14. Bộ dữ
liệu ACT-TRACES 1.5.2. Dữ liệu từ các
nguồn đã công bố
DPA-V4: Bộ dữ liệu vết điện năng tiêu thụ được cung cấp bởi cuộc thi
DPAcontest v4. Các vết được đo khi AES được mặt nạ thực thi trên thẻ thông minh Atmega8515. Tuy nhiên, khi biết giá trị mặt nạ thì đây tương đương với trường hợp AES cài đặt không có chống tấn công DPA. Các vết đo trong quá trình
S-hộp thực hiện phép thế: ( + ∗) ⊕ với đã biết [71]. Số lượng vết: 100000. Dữ
liệu vết được tải tại: http://www.dpacontest.org/v4.
ASCAD: Đây là bộ dữ liệu được công khai tại:
https://github.com/ANSSI- FR/ASCAD. Các trace được đo khi thuật toán AES -128 có cài đặt chống tấn công DPA bằng phương pháp mặt nạ. Bộ dữ liệu này được xây dựng nhằm các nghiên cứu có thể so sánh kết quả được với nhau giống như tập dữ liệu MINST trong xử lý ảnh. Tổng số vết có là 60000, trong đó 50000 vết được dùng trong quá trình xây dựng mẫu hay huấn luyện và 10000 vết được sử dụng để kiểm tra. Mỗi vết có độ dài 700 mẫu tương ứng với AES thực thi phép thế S-hộp thứ 3 của vòng thứ nhất.
Kết luận chương 1
Tấn công phân tích điện năng tiêu thụ dựa trên việc khai thác mối quan hệ giữa tập vết điện năng tiêu thụ của thiết bị với dữ liệu thiết bị xử lý. Dựa trên cơ sở này, Chương 1 đã trình bày quy trình của các tấn công phân tích điện năng tiêu thụ, các giải pháp tấn công khác nhau đối với cả thiết bị không có phòng vệ và có phòng vệ. Ngoài ra, các tham số đánh giá hiệu quả tấn công, sơ đồ đo vết điện năng tiêu thụ và các bộ dữ liệu vết điện năng tiêu thụ cũng được mô tả. Căn cứ vào các giải pháp tấn công cơ bản trong được trình bày trong chương này luận án sẽ đề xuất các giải pháp tấn công hiệu quả và sẽ được trình bày trong các chương 2 và chương 3.
PHƯƠNG PHÁP TẤN CÔNG CHO THIẾT BỊ KHÔNG PHÒNG VỆ
Trong chương này luận án trình bày các đề xuất liên quan đến việc giảm nhiễu và lựa chọn POIs cho các tấn công phân tích điện năng tiêu thụ lên thiết bị không có phòng vệ ở hai dạng là tấn công không bản mẫu và tấn công mẫu. Đối với dạng tấn công không bản mẫu luận án đề xuất phương pháp tấn công VMD-CPA và đối với tấn công mẫu là phương pháp tấn công VMD-GSO-SVM. Hiệu quả của hai phương pháp trên đều nhằm làm giảm số lượng vết điện năng tiêu thụ cần sử dụng để khôi phục khóa đúng của thiết bị. Nội dung của chương này đã được công bố trên các công trình CT01, CT04 và CT02.
Đặt vấn đề
Các phương pháp tấn công phân tích điện năng tiêu thụ đối với thiết bị không có phóng vệ gồm hai dạng chính là tấn công không bản mẫu và tấn công mẫu. Hiệu quả của các tấn công này phụ thuộc nhiều vào hhiễu trên vết điện năng tiêu thụ. Hiện tại các nghiên cứu về giảm nhiễu cho vết điện năng tiêu thụ tập trung vào các phương pháp chính là lấy trung bình các vết [3], sử dụng các bộ lọc [37] [38] [39] [40] hay sử dụng biến đổi Wavelet [41] [42]. Hầu hết các phương pháp này đều dựa trên sự hiểu biết về tín hiệu và nhiễu, cũng như gặp khó khăn trong việc xây dựng các tham số cho bộ lọc hay biến đổi Wavelet. Do đó, trong chương này luận án đề xuất áp dụng kỹ thuật phân tích mode biến phân (VMD) nhằm giảm nhiễu cho các vết điện năng tiêu thụ. Hơn nữa, khi áp dụng VMD cho vết điện năng tiêu thụ, người tấn công có thể lựa chọn được phần điện năng tiêu thụ có ích và loại bỏ các phần điện năng tiêu thụ khác trên vết. Bằng cách áp dụng kỹ thuật VMD để loại nhiễu và lựa chọn phần điện năng tiêu thụ có ích trên vết, chương này đề xuất phương pháp tấn công không bản mẫu gọi là VMD- CPA nhằm giảm số vết điện năng tiêu thụ để khôi phục khóa đúng của tấn công. Mặt khác, để nâng cao hiệu quả của tấn công mẫu thì ngoài việc giảm nhiễu trên vết thì việc lựa chọn POIs trên vết cũng đóng vai trò quan trọng đối với hiệu quả tấn công. Các phương pháp lựa chọn POIs hiện tại như phương pháp lọc
[5] [49] [50] [26] [51], phương pháp giảm chiều dữ liệu [52] [53], phương pháp dựa trên học máy [47] đều chưa đánh giá khả năng thực hiện trên vết điện năng tiêu thụ có nhiễu, chưa có cơ chế xếp hạng độ quan trọng của POIs, chưa xem xét đến sự phù hợp của phương pháp chọn POIs với thuật toán học máy được sử dụng trong tấn công. Nên trong chương này luận án cũng đề xuất phương pháp tấn công mẫu gọi là VMD-
GSO-SVM với kỹ thuật lựa chọn POIs mới có thể giảm nhiễu cho vết và trích chọn được các điểm POIs quan trọng nhất trên vết dựa trên việc kết hợp các kỹ thuật VMD, GSO và SVM.
VMD và ứng dụng
2.2.1. Kỹ thuật phân tích mode biến phân
Kỹ thuật phân tích mode biến phân (VMD) là phương pháp để phân tích thành các tín hiệu con, còn gọi là các mode, được đề xuất bởi Dragomiretskiy and Zosso
[46] năm 2014. VMD xác định tần số trung tâm và băng thông của mỗi mode bằng
cách tìm kiếm một lời giải tối ưu cho một mô hình biến phân để các mode có thể tách biệt nhau về mặt tần số. VMD thực hiện bằng cách xây dựng bài toán biến phân và giải bài toán biến phân đó.
a. Xây dựng bài toán biến phân
Một tín hiệu ( ) được phân tích thành mode ( ) với = 1,2, … , , mỗi mode là một tín hiệu có băng thông hạn chế và có một tần số trung tâm. Trước hết,
tín hiệu giải tích của mỗi mode, ( ( ) + ( ) ∗ ( )) với ( ) là hàm Dirac, được biểu diễn bởi
một hàm giá trị phức và không có thành phần tần số âm, được tạo ra bởi biến đổi Hilbert để phổ của chúng là đơn hướng. Kết đến, giải điều chế tín hiệu trên về dạng tín hiệu băng cơ sở
tương ứng bằng cách nhân tín hiệu giải tích của các mode với một số mũ, [( ( ) + ( ) ∗ ( ))]
∗ − . Cuối cùng, băng thông tín hiệu của mỗi mode được ước lượng bằng cách tính bình
phương 2-norm đạo hàm của tín hiệu giải tích đã được giải điều chế. Bài toán biến phân có ràng buộc được xây dựng như sau:
min
,
Trong đó, { } ≔ { 1,2, … , }
{ , , … , } là tần số trung tâm của mỗi mode, ∑
1 2 mode, 2-norm được ký hiệu là ‖ ( )‖22 =< ( ), ( ) > = ∫∞
b. Giải bài toán biến phân
Bằng cách sử dụng một hằng số phạt và các nhân tử Langrangian ( ), bài boán biến phân có ràng buộc (2.1) được chuyển về bài toán không có ràng buộc (2.2). Trong đó thành phần thứ hai được đưa vào để đảm bảo độ chính xác việc khôi phục tín hiệu trong trường hợp có nhiễu Gauss, và ở trong thành phần thứ ba các nhân tử Lagrangian được đưa vào để thực thi điều kiện của bài toán có ràng buộc.ℒ{ ( ), , ( )}
= ∑ ‖
=1
+ ( ), ( ) − ∑〈 =1 ( )〉
Phương pháp ADMM (Alternating Direction Method of Multipliers) được sử dụng để cập nhật các giá trị +1, +1, à +1 và tìm điểm “yên ngựa” của Lagrangian mở rộng trên. Bài toán tìm giá trị của +1
có thể được biểu diễn bởi công thức (2.3) như sau:
+1 =
∈
+‖ ( )−∑ ( )+
Trong đótương ứng với +1
Công thức (2.3) có thể được chuyển đổi từ miền thời gian sang miền bởi biến
đổi Parseval Fourier:
(2.3) ( ). tần số (2.4) +1 = { ‖ [(1 + ( + , ∈ + ‖ ( ) − ∑
40
+1
= { ‖ ( − )[(1 + ( )).
, ∈
+ ‖ ( ) − ∑
Công thức (2.5) được chuyển về tích phân trong khoảng tần số không âm như
sau:
+1
Tại bước này lời giải cho bài toán tối ưu (2.6) như sau:
+1
Tương tự vậy, bài toán tìm giá trị cho tần số trung tâm cũng được chuyển về
miền tần số bởi công thức (2.8).
+1 ={∫ ( − )2| ( )|2 }}
Trong đó, +1( ) tương ứng với bộ lọc Wiener của dư lượng hiện tại( ) − ∑ ≠ ( ), +1 là tần số trung tâm của phổ tần số của mode hiện tại, và phần thực
của biến đổi Fourier của { ( )} là { ( )}.
Nói tóm lại thuật toán VMD cập nhật tất các VMD mode đồng thời ở trên miền tần số và sau đó chuyển về miền thời gian bằng biến đổi Fourier. Quá trình thực
hiện của VMD được mô tả bởi Thuật toán 2.1.
Thuật toán 2.1: VMD
Đầu vào: Tín hiệu theo thời gian (t)
Đầu ra: Các VMD mode
1: Khởi tạo: { 1}, { 1}, = 0 2: Lặp 3: ← + 1 4: = 1: 5: Cập nhật : +1( ) ← ( ) + [ ( ) − ∑ +1( )] 6: Đến khi:
c. Lựa chọn tham số cho VMD
Trước khi thực hiện phân tách tín hiệu thành các VMD mode, các tham số của VMD, đó là: : số VMD mode, :
hằng số phạt, : tốc độ cập nhật, : điều kiện hội tụ cần được xác định. Trong đó và có ảnh hưởng lớn đến việc phân tách tín hiệu gốc thành các VMD mode và nó phụ thuộc vào từng dạng tín hiệu được phân tách, do đó luận án đề xuất sử dụng
Thuật toán 2.2 để xác định các tham số này. Các tham số còn lại được được lựa chọn là các giá trị được chuẩn hóa bởi
[46] trong dải 0: 1 − 6.
Cơ sở của việc lựa chọn tham số và để đảm bảo hai yếu tố. Thứ nhất là khả năng bảo tồn tất cả các đặc tính của tín hiệu gốc ở các VMD mode. Mục đích của việc phân tách VMD là tách được các thông tin chứa trong tín hiệu gốc và chúng ta mong muốn rằng các VMD mode có thể chứa tất cả các thông tin của tín hiệu gốc. Tính chất này có thể được xác định thông qua việc xác định độ giống nhau giữa tín hiệu khôi phục từ các VMD mode và tín hiệu hiệu gốc thông qua hệ số số tương quan Pearson. Tín hiệu khôi phục được tính là tổng của tất cả các VMD mode có được sau khi sử dụng VMD để phân tách tín hiệu gốc. Các giá trị của và cho hệ số tương quan trên lớn nhất là các giá trị cần lựa chọn. Yếu tố thứ hai là việc phân tách của VMD tránh được sự chồng lẫn về mặt tần số ở các VMD mode. Khi nhỏ, sẽ không
có đủ số VMD mode được phân tách và do đó các thành phần của tín hiệu có thể bị trộn trong cùng một VMD mode. Khi lớn, sẽ có nhiều hơn số VMD mode được phân tách và có thể dẫn tới thành phần tín hiệu của một mode có thể nằm trong nhiều VMD mode khác nhau. Do đó, giá trị phù hợp của của số VMD mode cần được lựa chọn sao cho mỗi VMD mode chứa được một dải tần số riêng biệt của tín hiệu gốc. Để xác định được tính chất này có thể thực hiện thao tác đơn giản là so sánh phổ tần số của tín hiệu gốc và phổ tần số của các VMD mode thông qua biểu diễn phổ của chúng nhờ phép biến đổi FFT. Căn cứ vào phân tích này, các bước để
thực hiện lựa chọn các tham số và của VMD được mô tả bởi Thuật toán 2.2.
Thuật toán 2.2: Lựa chọn tham số cho VMD. Đầu vào:Tập vết điện năng tiêu thụX
Đầu ra:Tham số ,
1: Khởi tạo: Dải giá trị cho :,và :,, các bước thay đổi
giá trị của và : ,
2: 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
3: Xác định và biểu diễn phổ của bởi phép biến đổi FFT.
For =
to For =to
Xác định các VMD mode của thông qua biến đổi VMD.
Xác định tín hiệu khôi phục, , từ các VMD mode bằng cách cộng dồn
tất cả các VMD mode.
4: Tính tương quan Pearson giữa và .
Tính và biểu diễn phổ của các VMD mode. So sánh phổ của các VMD mode với phổ của để xác định sự phân tách về mặt tần số của các VMD mode và tín hiệu gốc.
End for End for
5: Chọn cặp giá trị ( , ) có hệ số tương quan Pearson lớn nhất giữa và và
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:
=1
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
( )
Trace gốc
20 10 5
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