Luận án đã xây dựng được các phương pháp tấn công phân tích điện năng tiêu
thụ hiệu quả lên các thiết bị mật mã trong các trường hợp thiết bị không có phòng vệ
và thiết bị có phòng vệ.
Đối với thiết bị không có phòng vệ :
1. Xây dựng phương pháp tấn công phân tích điện năng tiêu thụ tương quan hiệu
quả sử dụng kỹ thuật phân tích mode biến phân VMD-CPA. Phương pháp này
cho phép giảm số lượng vết điện năng tiêu thụ cần thiết để khôi phục khóa
đúng khoảng 25% so với tấn công CPA truyền thống. VMD-CPA đặc biệt hiệu
quả trong các kịch bản tấn công thực tế khi các vết điện năng tiêu thụ chứa
nhiễu, số lượng vết điện năng tiêu thụ giảm hơn 50%.
2. Xây dựng được phương pháp tấn công mẫu hiệu quả VMD-GSO-SVM với
phương pháp lựa chọn POIs bằng cách kết hợp giữa kỹ thuật phân tích mode
biến phân, quá trình trực giao Gram-Schmidt và máy véc-tơ hỗ trợ. Hiệu quả
của phương pháp tốt hơn các phương pháp tấn công mẫu sử dụng SVM với
các phương pháp lựa chọn POIs là dựa trên phân tích tương quan và chuẩn hóa
được thể hiện ở số lượng vết điện năng tiêu thụ để GE=0 giảm cỡ khoảng 40%,
nó cũng đặc biệt hiệu quả trong trường hợp các vết điện năng tiêu thụ có nhiễu
khi số lượng vết giảm 60%.
Đối với thiết bị có phòng vệ :
3. Xây dựng phương pháp tấn công mẫu đối với thiết bị có phòng vệ bằng mặt
nạ sử dụng kiến trúc mạng nơ-ron tích chập CNNd. Kiến trúc mạng CNNd
được xây dựng dựa trên các đặc điểm POIs của thiết bị có phòng vệ bằng mặt
nạ cùng với các tham số được tối ưu bởi thuật toán GWO. Kết quả khi sử dụng
kiến trúc này để tấn công, số lượng vết điện năng tiêu thụ cần thiết để GE=0
giảm cỡ 23% so với kết quả được xem là tốt nhất tại thời điểm tham chiếu.
132 trang |
Chia sẻ: huydang97 | Ngày: 27/12/2022 | Lượt xem: 1178 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Luận án Một số phương pháp tấn công phân tích điện năng tiêu thụ hiệu quả sử dụng kỹ thuật xử lý tín hiệu và học máy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
�𝑀−1𝑥𝑀] (3.10)
3.3.1.2. Khối phân lớp vết điện năng tiêu thụ
Các đặc trưng kết hợp tạo ra bởi tầng tích chập thứ hai và HO-SCA sẽ được kết
hợp lại với nhau ở tầng FLATTEN và được đưa vào tổng hợp ở phần mạng thực hiện
chức năng phân lớp đó là các lớp nơ-ron ẩn. Cuối cùng là tầng đầu ra với số nơ-ron
bằng với số lượng nhãn của vết điện năng tiêu thụ cần phân lớp.
Như vậy, kiến trúc bộ lớp CNNd bao gồm các tầng tích chập, lớp HO-SCA, tầng
FLATTEN và các lớp nơ-ron ẩn, và tầng đầu ra. Với các mạng nơ-ron tích chập, theo
sau các tầng tích chập là các tầng POOL có tác dụng làm giảm kích thước đặc trưng
lối ra tầng tích chập [78]. Do đó, trong kiến trúc CNNd, sau mỗi tầng tích chập là một
tầng POOL với các tham số là kích thước và bước trượt là 2 [33].
96
Do mỗi kiến trúc phân lớp thường chỉ phù hợp và tối ưu cho một bài toán cụ thể
nên ngoài việc thiết kế các bộ lọc phù hợp cho tầng tích chập, tạo các đặc trưng kết
hợp phù hợp với bài toán phân lớp cho các vết của thiết bị mặt nạ thì các tham số còn
lại của kiến trúc CNNd như số lượng bộ lọc, kích thước bộ lọc, số lượng tầng nơ-ron
ẩn, số nơ-ron trong một tầng ẩn cũng cần được tối ưu. Hiện tại, chưa có giải pháp cụ
thể nào để xác định các tham số trên, do đó luận án đề xuất sử dụng thuật toán tối ưu
dựa trên hành vi săn mồi của bày sói (GWO) để xác định các tham số trên.
3.3.2. Tối ưu tham số cho mô hình phân lớp CNNd
Trong kiến trúc CNNd, số lượng các tầng của CNN đã được xác định, tuy nhiên
giá trị của các tham số của các tầng vẫn chưa được xác định. Bộ tham số của CNN
cần xác định {𝛾1, 𝛾2, 𝛾3, 𝛾4, 𝛿1, 𝛿2} nằm trong một dải rộng. Việc lựa chọn một bộ các
tham số trên để khi huấn luyện CNNd cho độ chính xác của việc phân lớp cao tương
ứng với việc thử tổ hợp tất cả các tham số trên và lựa chọn bộ tham số cho kết quả
tốt nhất. Do không gian các tham số lớn nên cần có một thuật toán tối ưu để tìm kiếm.
Hiện nay, các thuật toán tối ưu dựa trên trí tuệ bày đàn được sử dụng thành công trong
nhiều lĩnh vực trong đó có việc lựa chọn tham số cho các thuật toán học máy [79].
Do đó, luận án đề xuất sử dụng một thuật toán tối ưu dựa trên hành vi săn mồi của
bày sói (GWO) để tìm kiếm bộ tham số tối ưu cho mạng CNNd.
GWO mô phỏng theo hành vi tồn tại và săn mồi của bầy sói xám. Hệ thống phân
cấp của loài sói xám được chia thành các cấp 𝛼, 𝛽, 𝛿, 𝜔. Con đầu đàn được gọi là
Alpha, dẫn đầu đàn, có nhiệm vụ quyết định về việc săn bắt, nơi ở. Cấp thứ hai trong
phân cấp của những con sói xám là Beta. Các Beta là những con sói thường trong đàn
dưới quyền Alpha nhưng cũng chỉ huy các con sói cấp thấp khác. Bậc thấp nhất trong
bầy sói xám là Omega. Đó là những con sói yếu ớt và phải dựa vào các con sói khác
trong đàn. Các con sói Delta phụ thuộc vào Alpha và Beta nhưng chúng trội hơn
Omega. Chúng làm nhiệm vụ theo dõi ranh giới lãnh thổ và cảnh báo trong trường
hợp có nguy hiểm, bảo vệ và đảm bảo an toàn cho bầy, chăm sóc những con sói yếu,
bị thương trong đàn. Ngoài hệ thống cấp bậc xã hội của sói, săn mồi theo bầy còn là
một hành vi xã hội đáng chú ý của sói. Theo Mirjalili [80] các giai đoạn chính của
việc săn bắt con mồi là: khoanh vùng, rượt đuổi và tấn công con mồi khi nó ngừng di
chuyển.
Trong giai đoạn khoanh vùng, bày sói cập nhật vị trí của chúng theo vị trí con
mồi và việc cập nhật vị trí có thể mô tả bởi biểu thức (3.11).
97
�⃗� = |𝐶 . 𝑋 𝑝(𝑡) − 𝑋 (𝑡)|
𝑋 (𝑡 + 1) = 𝑋 𝑝(𝑡) − 𝐴 . �⃗�
(3.11)
Trong đó 𝑡 là vị trí lặp hiện tại, 𝑋 𝑝 là véc-tơ vị trí của con mồi, 𝑋 là vị trí của sói
xám. 𝐴 , 𝐶 là các vector hệ số, 𝐴 = 2𝑎 . 𝑟 1 − 𝑎 , 𝐶 = 2. 𝑟 2, với 𝑎 giảm tuyến tính trong
từ 2 tới 0 trong suốt quá trình lặp, 𝑟 1, 𝑟 2 là các vector ngẫu nhiên trong khoảng [0,1].
Để mô phỏng theo toán học cách săn mồi của sói xám, giả sử rằng
Alpha, Beta và Delta có vị trí tốt hơn đối với vị trí của con mồi. Do đó, ba giải pháp
đầu tiên thu được cho đến thời điểm này được coi là tốt nhất và yêu cầu các cá thể
tìm kiếm khác (kể cả Omegas) cập nhật vị trí của chúng theo vị trí của các cá
thể tìm kiếm tốt nhất. Để mô tả hành vi này, Mirjalili [80] đề xuất
các biểu thức trong (3.12).
�⃗� 𝛼 = |𝐶 1. 𝑋 𝛼 − 𝑋 | ; �⃗� 𝛽 = |𝐶 2. 𝑋 𝛽 − 𝑋 |; �⃗� 𝛿 = |𝐶 3. 𝑋 𝛿 − 𝑋 |
𝑋 1 = 𝑋 𝛼 − 𝐴 1. �⃗� 𝛼
𝑋 2 = 𝑋 𝛽 − 𝐴 2. �⃗� 𝛽
𝑋 3 = 𝑋 𝛿 − 𝐴 3. �⃗� 𝛿
𝑋 (𝑡 + 1) =
𝑋 1 + 𝑋 2 + 𝑋 3
3
(3.12)
Trong đó, 𝑋 1, 𝑋 2, 𝑋 3 là vị trí của alpha, beta và delta.
Trong quá trình tấn công con mồi, những con sói xám kết thục cuộc săn bằng
cách tấn công con mồi khi nó ngừng di chuyển. Để mô phỏng theo toán học cách tiếp
cận con mồi chúng ta giảm giá trị của 𝑎 . Độ biến thiên của 𝐴 giảm theo 𝑎 . Hay 𝐴 là
một giá trị ngẫu nhiên trong khoảng [−2𝑎, 2𝑎] trong đó 𝑎 được giảm từ 2 đến 0 trong
quá trình lặp. Khi các giá trị ngẫu nhiên của 𝐴 nằm trong [−1,1], vị trí tiếp theo của
một cá thể tìm kiếm có thể ở bất kỳ vị trí nào giữa vị trí hiện tại và vị trí của con mồi.
Khi |𝐴| < 1 các con sói bắt buộc phải tấn công con mồi, nếu không thì bầy sói sẽ
tách ra để tìm kiếm để thăm dò rộng hơn.
Quá trình tìm tham số cho CNNd bởi thuật toán GWO được đề xuất dựa trên thuật
toán gốc GWO và được thể hiện bởi Thuật toán 3.1.
98
Thuật toán 3.1: Thuật toán tìm tham số cho CNNd
Đầu vào:
- Số lượng tham số cần tìm: 𝑝𝑜𝑝𝑠𝑖𝑧𝑒
- Số lần lặp tối đa: 𝑀𝑎𝑥𝑖𝑡𝑒𝑟
- Tập vết điện năng tiêu thụ được gán nhãn
Đầu ra:
- Bộ tham số tối ưu
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Bắt đầu thuật toán:
Chia tập vết thành 02 tập: tập huấn luyện 𝑇𝑟, tập kiểm tra 𝑇𝑒;
Khởi tạo bày sói: 𝑋𝑖(𝑖 = 1, , 𝑝𝑜𝑝𝑠𝑖𝑧𝑒);
Khởi tạo các tham số 𝑎, 𝐴 và 𝐶;
𝐟𝐨𝐫 (mỗi lời giải 𝑋𝑖 trong bày sói) do
Thiết lập một mô hình CNN với các tham số là 𝑋𝑖
Huấn luyện CNN với tập 𝑇𝑟
Tính hàm mục tiêu của lời giải 𝑋𝑖: sử dụng công thức (3.14) để tính độ chính
xác phân lớp của CNN với tập 𝑇𝑒.
𝐞𝐧𝐝 𝐟𝐨𝐫
11:
12:
13:
Đặt 𝑋𝛼 là lời giải tốt nhất
Đặt 𝑋𝛽 là lời giải tốt thứ hai
Đặt 𝑋𝛿 là lời giải tốt thứ ba
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
while (số lần lặp < 𝑀𝑎𝑥𝑖𝑡𝑒𝑟) do
for (mỗi lời giải 𝑋𝑖 trong bày sói) do
Cập nhật vị trí của 𝑋𝑖 theo công thức (3.12)
Thiết lập một mô hình CNN với các tham số là 𝑋𝑖
Huấn luyện CNN với tập 𝑇𝑟
Tính hàm mục tiêu của lời giải 𝑋𝑖: sử dụng công thức (3.14) để tính độ
chính xác phân lớp của CNN với tập 𝑇𝑒.
end for
Cập nhật 𝑎, 𝐴, 𝐶
Cập nhật 𝑋𝛼, 𝑋𝛽 , 𝑋𝛿
Tăng số lần lặp lên 1
End while
Return: 𝑋𝛼 là tham số tốt nhất cho CNNd
Kết thúc thuật toán
99
Biểu diễn lời giải:
Các tham số của CNNd có ảnh hưởng lớn đến độ chính xác phân lớp của nó. Bộ
tham số của CNNd cần xác định {𝛾1, 𝛾2, 𝛾3, 𝛾4, 𝛿1, 𝛿2} nằm trong một dải rộng. Do đó,
thuật toán GWO được sử dụng để xác định các tham số trên dựa trên hàm mục tiêu
là độ chính xác của CNNd. Mỗi lời giải trong không gian tìm kiếm của bày sói chứa
6 giá trị tương ứng với các tham số của CNNd. Thuật toán GWO được áp dụng cho
các bài toán mà không gian tìm kiếm là liên tục cho mỗi cá thể. Mặt khác, các tham
số của CNN là các giá trị rời rạc, do đó luận án sử dụng một hàm chuyển đổi để
chuyển các vector số thực mô tả vị trí của mỗi cá thể trong không gian tìm kiếm thành
vector số nguyên bởi công thức (3.13).
𝑦𝑖𝑗 = ⌊𝑏𝑗 ∗
𝑥𝑖𝑗 − 𝑙𝑏
𝑢𝑏 − 𝑙𝑏
+ 0.5⌋ ; 𝑗 = 1, , 𝑛
(3.13)
Trong đó 𝑥𝑖𝑗 là số thực mô tả vị trí của 𝑋𝑖, 𝑦𝑖𝑗 là vector số nguyên mô tả vị trị
của 𝑋𝑖, 𝑏𝑗 số cột của 𝑋𝑖, 𝑙𝑏 và 𝑢𝑏 là giới hạn dưới và trên của không gian tìm kiếm.
Lựa chọn hàm mục tiêu:
Thuật toán tối ưu tìm tham số được bắt đầu với bước khởi tạo ở đó số lượng cá
thể tìm kiếm được khởi tạo bởi một số ngẫu nhiên mô tả vị trí của nó. Số lượng các
vị trí tương ứng với số tham số của CNNd cần được tối ưu bởi GWO. Mỗi cá thể tìm
kiếm tương ứng với một lời giải chứa các giá trị là các tham số của CNN. Sau quá
trình khởi tạo, các thế hệ mới của quần thể tìm kiếm đầu tiên được tạo ra trong quá
trình lặp của thuật toán tìm kiếm. Để đánh giá hiệu quả của mỗi lời giải, một hàm
mục tiêu cần được định nghĩa cho quá trình tối ưu. Trong phương pháp đề xuất, độ
chính xác phân lớp của CNNd trên tập kiểm tra theo công thức (3.14) được sử dụng
là hàm mục tiêu. Trong đó |𝑍| là số lớp cần phân loại, 𝑇𝑃𝑖 là tổng số vết thuộc lớp 𝑖
được phân lớp đúng và 𝐹𝑃𝑖 là tổng số vết thuộc lớp 𝑖 được phân lớp sai.
𝑃𝑟𝑒 =
∑ 𝑇𝑃𝑖
|𝑍|
𝑖=1
∑ 𝑇𝑃𝑖 + 𝐹𝑃𝑖
|𝑍|
𝑖=1
(3.14)
Kết quả thực hiện: Kết quả thực nghiệm sử dụng GWO để tìm bộ tham số cho
CNNd với bộ dữ liệu ASCAD, trong đó có 45000 vết dùng trong pha huấn luyện,
5000 vết cho pha kiểm tra, được cho bởi Bảng 3.2.
100
Bảng 3.2. Tham số của CNNd cho bởi GWO
Tên tham số Giá trị trước GWO Giá trị sau GWO
Số bộ lọc tầng CONV1: 𝛾1 1 − 10 4
Kích thước bộ lọc tầng CONV1: 𝛾2 1 − 10 3
Số bộ lọc tầng CONV2: 𝛾3 1 − 20 8
Kích thước bộ lọc tầng CONV2: 𝛾4 20 − 100 51
Số tầng tầng nơ-ron ẩn: 𝛿1 1 − 3 2
Số nơ-ron / tầng:𝛿2 1 − 50 10
3.3.3. Đánh giá bộ phân lớp CNNd
Bảng 3.3. So sánh kiến trúc và tham số các bộ phân lớp
CNNP [32] CNNz [33] CNNd (đề xuất)
Phương
pháp xây
dựng
Dựa trên kiến trúc
CNN VGG16 sử
dụng trong xử lý ảnh
Dựa trên kỹ thuật
trực quan hóa vector
trọng số
Dựa trên đặc điểm dữ liệu
đầu vào, áp dụng kỹ thuật
tối ưu GWO để tìm tham
số.
Số tầng tích
chập
- 5 tầng: số bộ lọc
tương ứng
(64,128,256,512,512)
, kích thước 11,
- Average pooling
sau mỗi tầng tích
chập
- 1 tầng: số bộ lọc 4,
kích thước 3.
- Average pooling
(2,2) sau mỗi tầng
tích chập
2 tầng:
- Tầng 1: số bộ lọc 4, kích
thước 3, sử dụng dialation
convolution với 𝑑 = 1,
𝐿1 − 𝑅𝑒𝑔𝑢𝑙𝑎𝑟𝑖𝑧𝑎𝑡𝑖𝑜𝑛
- Tầng 2: số filter 8, kích
thước 51.
- Average pooling (2,2)
sau mỗi tầng tích chập.
Mô-đun
HO-SCA
Không có Không có Có
Số tầng kết
nối đầy đủ
2 tầng: 4096 nơ-ron /
tầng
2 tầng: 10 nơ-
ron/tầng
2 tầng: 10 nơ-ron/tầng
Tầng đầu
ra
256 nơ-ron, hàm kích
hoạt 𝑠𝑜𝑓𝑡𝑚𝑎𝑥
256 nơ-ron, hàm
kích hoạt 𝑠𝑜𝑓𝑡𝑚𝑎𝑥
256 nơ-ron, hàm kích
hoạt 𝑠𝑜𝑓𝑡𝑚𝑎𝑥
101
Bảng 3.3 liệt kê kiến trúc và các tham số của một số bộ phân lớp sử dụng để phân
lớp cho các vết điện năng tiêu thụ của thiết bị mặt nạ. CNNd có kiến trúc được xây
dựng dựa trên đặc điểm dữ liệu đầu vào là các POIs của vết điện năng tiêu thụ và các
tham số của nó được tối ưu bởi thuật toán GWO. Do đó, so với CNNP[50] và
CNNz[52], CNNd được xây dựng theo nguyên tắc phù hợp hơn, các tham số được
tối ưu thông qua thực nghiệm do đó có thể tăng được hiệu quả tấn công đối với bài
toán tấn công cụ thể lên thiết bị mặt nạ. Hơn nữa, về mặt kiến trúc, CNNd có kiến
trúc nhỏ hơn nhiều với CNNP và ở mức tương đương với CNNz.
Đề xuất phương pháp tấn công cho thiết bị có mặt nạ CNN-D
Thông qua việc xây dựng bộ phân lớp CNNd, luận án đề xuất áp dụng CNNd vào
phương pháp tấn công mẫu sử cho thiết bị có phòng vệ bằng phương pháp mặt nạ gọi
là CNN-D với các giả định tấn công và quy trình tấn công được mô tả dưới đây.
3.4.1. Các giả định tấn công
Khi thực hiện tấn công trên thiết bị có mặt nạ, một số giả định sau được đặt ra:
Đối với thiết bị cần tấn công:
- Người tấn công có thể điều khiển thiết bị hoạt động với tập bản rõ đầu vào và
biết được tập bản mã đầu ra. Đo được các vết điện năng tiêu thụ trong quá
trình thiết bị hoạt động.
Đối thiết bị lập mẫu (thiết bị để mô hình điện năng tiêu thụ):
- Là bản sao của thiết bị cần tấn công
- Người tấn công có thể điều khiển thiết bị hoạt động với tập bản rõ đầu vào và
biết được tập bản mã đầu ra. Đo được các vết điện năng tiêu thụ trong quá
trình thiết bị hoạt động.
- Người tấn công có thể xây dựng bộ mẫu cho các khóa của thiết bị. Điều này
có nghĩa người tấn công biết khóa của thiết bị mẫu và có thể thay đổi nó cho
quá trình mã hóa.
- Người tấn công không biết chi tiết thuật toán mật mã được cài đặt như thế nào
mà chỉ biết được thuật toán được cài đặt và sơ đồ mặt nạ có thể được sử dụng.
- Người tấn công không biết được thiết kế và giá trị của bộ phát số ngẫu nhiên
trong thiết bị. Điều này có nghĩa là người tấn công không biết được các giá trị
mặt nạ được sử dụng trong thiết bị.
102
3.4.2. Quy trình tấn công
Sơ đồ tấn công mẫu sử dụng cho thiết bị có phòng vệ bằng mặt nạ dựa trên
phương pháp tấn công mẫu chuẩn, được thực hiện thông qua hai pha chính là pha lập
mẫu và pha tấn công như được mô tả trên Hình 3.7.
Trong pha lập mẫu, người tấn công xây dựng mô hình điện năng tiêu thụ của
thiết bị mẫu bằng cách huấn luyện mô hình phân lớp CNNd cho các vết điện năng tiêu
thụ của thiết bị này. Việc này được thực hiện thông qua các bước như sau:
B1: Lựa chọn điểm tấn công hay giá trị trung gian của thuật toán mật mã để tấn
công, ví dụ như lối ra Sbox với giá trị trung gian tấn công là 𝑧𝑖 = 𝑠𝑏𝑜𝑥(𝑝𝑡𝑖⊕𝑘), với
𝑘 là khóa của thiết bị mẫu.
B2: Xây dựng bộ dữ liệu huấn luyện: Sử dụng 𝑁𝑝 bản rõ làm đầu vào cho thiết
bị mẫu để thực thi thuật toán mật mã. Trong quá trình thiết bị thực thi mã hóa tại điểm
tấn công, thu thập các vết điện năng tiêu thụ 𝑥𝑖 ∈ 𝑅
𝑇 , 𝑖 = 1, . . , 𝑁𝑝. Các vết này được
gán nhãn tương ứng là 𝑧𝑖 = 𝑠𝑏𝑜𝑥(𝑝𝑡𝑖⊕𝑘); 𝑖 = 1, ,𝑁𝑝. Với thuật toán AES lối ra
𝑠𝑏𝑜𝑥 có giá trị là 1 byte, nên 𝑧𝑖 ∈ (0,1, ,255).
B3: Bộ dữ liệu vết điện năng tiêu thụ được gán nhãn ở bước 2 được sử dụng để
huấn luyện mô hình phân lớp CNNd để nó có thể tổng quát hóa được sự phụ thuộc
của các vết điện năng tiêu thụ và giá trị trung gian giả thiết 𝑧𝑖. Bộ phân lớp CNNd sau
khi đã được huấn luyện sẽ được sử dụng để phân lớp cho các vết điện năng tiêu thụ
mới trong pha tấn công.
Bản rõ
z1
z2
zm
Thu thập các
vết điện năng
tiêu thụ
Tập các vết điện năng tiêu thụ
được gán nhãn zi (i=1:m)
Huấn luyện
CNNd
Các giá trị trung gian
cần phân lớp
Pha lập mẫu
Tập vết tấn
công (chưa gán
nhãn)
Mô hình CNNd
đã huấn luyện
Ước lượng hợp
lý lớn nhất
Khóa đúng
Xác suất vết thuộc
một lớp
Pha tấn công
Sbox
Lối ra Sbox
DUT
Khóa
Hình 3.7. Sơ đồ tấn công cho thiết bị mặt nạ CNN-D
103
Trong pha tấn công, mục tiêu của người tấn công là tìm được khóa bí mật của
thiết bị cần tấn công. Một tập 𝑁𝑎 vết điện năng tiêu thụ 𝑥𝑖 ∈ 𝑅
𝑇 (chưa biết nhãn) thu
thập từ thiết bị cần tấn công được đưa vào bộ phân lớp CNNd đã được huấn luyện ở
pha lập mẫu để xác định xác suất các vết có nhãn tương ứng từ 𝑧1, , 𝑧𝑚. Các giá trị
xác suất này được đưa vào bộ ước lượng hợp lý lớn nhất để tìm ra khóa đúng của
thiết bị tấn công. Điểm số quyết định có được bởi ước lượng hợp lý lớn nhất cho mỗi
ứng viên khóa được xác định bởi (3.15).
log 𝐿𝑘 ≡ 𝑙𝑜𝑔∏𝑃𝐶𝑁𝑁(𝒙𝑖|𝑧𝑗) =∑log𝑃𝐶𝑁𝑁(𝒙𝑖|𝑧𝑗)
𝑁𝑎
𝑖=1
𝑁𝑎
𝑖=1
(3.15)
Với 𝑧𝑗 = 𝑆𝑏𝑜𝑥(𝑝𝑡𝑖 , 𝑘) và 𝑝𝑡𝑖 là bản rõ tương ứng với vết điện năng tiêu thụ 𝒙𝑖.
Một ứng viên khóa 𝑘𝑐 trong tất cả các khóa giả thiết có ước lượng hợp lý lớn nhất
(3.16) được xem là khóa đúng cần tìm.
𝑘𝑐 = 𝑎𝑟𝑔𝑚𝑎𝑥
𝑘∈𝕂
(log 𝐿𝑘) (3.16)
Chi tiết các bước cần thực hiện trong pha tấn công được mô tả như sau:
B1: Người tấn công cần có được thiết bị cần tấn công giống với thiết bị được sử
dụng trong pha lập mẫu.
B2: Cần xác định điểm tấn công. Đây là điểm giống với điểm được sử dụng trong
pha lập mẫu, ví dụ như lối ra Sbox.
B3: Đo tập 𝑁𝑎 vết điện năng tiêu thụ từ thiết bị tấn công. Các vết này có chứa
điện năng tiêu thụ sinh bởi phép toán sử dụng làm điểm tấn công. Ví dụ như chứa
điện năng tiêu thụ của thiết bị khi nó thực thi phép toán Sbox.
B4: Sử dụng mô hình CNNd đã được huấn luyện trong pha lập mẫu để xác định
xác suất phân lớp các vết điện năng tiêu thụ của thiết bị tấn công thuộc về các nhãn
khác nhau. Kết quả bước này, người tấn công có được ma trận như (3.17), trong đó
𝐶𝑁𝑁𝑑(𝑡𝑖)𝑗 là xác suất của vết điện năng tiêu thụ 𝑡𝑖 được phân lớp thuộc lớp 𝑧𝑗 bởi
mạng CNNd. Trong pha lập mẫu, CNNd được huấn luyện để phân lớp cho 256 nhãn
của vết điện năng tiêu thụ nên 𝑗 = 0,1, ,255.
𝑫 =
(
𝐶𝑁𝑁𝑑(𝑡1)0 𝐶𝑁𝑁𝑑(𝑡1)1 𝐶𝑁𝑁𝑑(𝑡1)2 ⋯ 𝐶𝑁𝑁𝑑(𝑡1)255
𝐶𝑁𝑁𝑑(𝑡2)0 𝐶𝑁𝑁𝑑(𝑡2)1 𝐶𝑁𝑁𝑑(𝑡2)2 𝐶𝑁𝑁𝑑(𝑡2)255
⋮ ⋮ ⋮ ⋱ ⋮
𝐶𝑁𝑁𝑑(𝑡𝑁𝑎)0 𝐶𝑁𝑁𝑑(𝑡𝑁𝑎)1 𝐶𝑁𝑁𝑑(𝑡𝑁𝑎)2 ⋯ 𝐶𝑁𝑁𝑑(𝑡𝑁𝑎)255)
(3.17)
104
B5: Khôi phục khóa của thiết bị tấn công bằng cách sử dụng hàm ước lượng hợp
lý (3.15). Bước này được thực hiện bởi 3 giai đoạn như sau:
- Giả sử người tấn công muốn tìm byte khóa 𝑘 khi tấn công thuật toán mã hóa.
Trước hết người tấn công tính giá trị lối ra Sbox của tất cả các bản rõ 𝑝𝑡𝑖 với
𝑖 = 1, ,𝑁𝑎 cho tất cả các giá trị có thể có của khóa 𝑘. Trong trường hợp này,
do 𝑘 có độ lớn là 1 byte nên tồn tại 256 giá trị của 𝑘 từ 0 đến 255. Kết quả
người tấn công có được là ma trận 𝑷 kích thước (𝑁𝑎 , 256) được biểu diễn bởi
(3.18). Mỗi phẩn tử được ký hiệu là 𝑝𝑖,𝑗, với 𝑖, 𝑗 là chỉ số cột, hàng mô tả
𝑆(𝑝𝑡𝑖⊕𝑘𝑗) là lối ra Sbox của phép XOR giữa bản rõ của vết 𝑡𝑖 và một khóa
𝑘𝑗 = 𝑗.
𝑷 = (
𝑆(𝑝𝑡1⊕𝑘0) 𝑆(𝑝𝑡1⊕𝑘1) 𝑆(𝑝𝑡1⊕𝑘2) ⋯ 𝑆(𝑝𝑡1⊕𝑘255)
𝑆(𝑝𝑡2⊕𝑘0) 𝑆(𝑝𝑡2⊕𝑘1) 𝑆(𝑝𝑡2⊕𝑘2) 𝑆(𝑝𝑡2⊕𝑘255)
⋮ ⋮ ⋮ ⋱ ⋮
𝑆(𝑝𝑡𝑁𝑎⊕𝑘0) 𝑆(𝑝𝑡𝑁𝑎⊕𝑘1) 𝑆(𝑝𝑡𝑁𝑎⊕𝑘2) ⋯ 𝑆(𝑝𝑡𝑁𝑎⊕𝑘255)
) (3.18)
- Tiếp đến, người tấn công thay thế các phần tử 𝑝𝑖,𝑗 của ma trận 𝑃 bởi giá trị
𝐶𝑁𝑁(𝑡𝑖)𝑝𝑖,𝑗 được mô tả trong ma trận 𝑫 ở biểu thức (3.17). Kết quả người tấn
công có được ma trận 𝑆 được biểu diễn bởi (3.19), trong đó mỗi phần tử 𝑠𝑖,𝑗 mô
tả xác suất một vết điện năng tiêu thụ 𝑡𝑖, với một byte bản rõ đầu vào 𝑝𝑡𝑖 được
mã hóa với khóa 𝑘𝑗 = 𝑗.
𝑺 =
(
𝐶𝑁𝑁𝑑(𝑡1)𝑝1,0 𝐶𝑁𝑁𝑑(𝑡1)𝑝1,1 𝐶𝑁𝑁𝑑(𝑡1)𝑝1,2 ⋯ 𝐶𝑁𝑁𝑑(𝑡1)𝑝1,255
𝐶𝑁𝑁𝑑(𝑡2)𝑝2,0 𝐶𝑁𝑁𝑑(𝑡2)𝑝2,1 𝐶𝑁𝑁𝑑(𝑡2)𝑝2,2 𝐶𝑁𝑁𝑑(𝑡2)𝑝2,255
⋮ ⋮ ⋮ ⋱ ⋮
𝐶𝑁𝑁𝑑(𝑡𝑁𝑎)𝑃𝑁𝑎,0
𝐶𝑁𝑁𝑑(𝑡𝑁𝑎)𝑃𝑁𝑎,1
𝐶𝑁𝑁𝑑(𝑡𝑁𝑎)𝑃𝑁𝑎,2
⋯ 𝐶𝑁𝑁𝑑(𝑡𝑁𝑎)𝑃𝑁𝑎,255)
(3.19)
- Cuối cùng, người tấn công lấy tổng logarit các phần tử của từng cột của ma
trân S với mục tiêu là điểm số quyết định của mỗi giá trị có thể có của 𝑘. Việc
này tương ứng với thực thi biểu thức (3.15). Trong 256 cột của ma trận S, cột
nào cho điểm số quyết định lớn nhất tương ứng chỉ số của cột đó là khóa đúng
hợp lý nhất của thiết bị tấn công. Biểu thức (3.16) tổng quát hóa việc làm này.
Thực nghiệm tấn công CNN-D
Trong phần này luận án trình bày kết quả thực nghiệm thực thi tấn công mẫu như
được mô tả trong phần 3.4 để tìm khóa của thuật toán AES-128 được cài đặt trên thẻ
thông minh có sử dụng biện pháp phòng vệ bằng mặt nạ. Để có thể so sánh hiệu quả
105
tấn công so với các phương pháp khác, luận án sử dụng bộ vết điện năng tiêu thụ
ASCAD với số lượng vết sử dụng trong các pha lập mẫu và tấn công được mô tả trên
Bảng 3.4. Trong đó, số vết được sử dụng trong pha lập mẫu và tấn công lần lượt là
𝑁𝑝 = 50000 và 𝑁𝑎 = 10000. Số vết trong pha lập mẫu được chia thành 2 phần tương
ứng là 45000 dùng cho huấn luyện CNNd và 5000 vết để kiểm tra. Các vết trong pha
lập mẫu đã được gán nhãn theo giá trị trung gian tại lối ra Sbox của AES-128 là 𝑧𝑖 =
𝑠𝑏𝑜𝑥(𝑝𝑡𝑖⊕𝑘), các vết trong pha tấn công chưa biết nhãn.
Bảng 3.4. Dữ liệu sử dụng trong tấn công
Dữ liệu sử dụng trong pha lập mẫu Dữ liệu sử dụng trong pha tấn công
Bản rõ
(𝑝𝑡𝑖)
Vết điện năng tiêu thụ(𝑥𝑖 ∈
ℝ700 – đơn vị 𝑚𝑉)
Nhãn
(𝑧𝑖)
Bản rõ
(𝑝𝑡𝑖)
Vết điện năng tiêu thụ (𝑥𝑖 ∈
ℝ700 – đơn vị 𝑚𝑉)
Nhãn
(𝑧𝑖)
𝑝𝑡1 6 𝑥1 (20,19, ,0,9,15) 38 𝑝𝑡1 31 𝑥1 (21,18,13,5, ,3,12,17) ?
𝑝𝑡2 64 𝑥2 (22,20, ,1,10,16) 47 𝑝𝑡2 145 𝑥2 (17,14,9, ,5,12,17) ?
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ?
𝑝𝑡𝑁𝑝 202 𝑥𝑁𝑝 (2, −8, ,−3,5,12) 52 𝑝𝑡𝑁𝑎 198 𝑥𝑁𝑎 (25,25,21, ,−6,3,10) ?
Quá trình thực thi tấn công được thực hiện trên máy tính PC Intel Core i7, 16G
RAM. Các chương trình tấn công được viết bằng ngôn ngữ Python. CNNd được cài
đặt bằng ngôn ngữ Python sử dụng thư viện Keras. Các tham số huấn luyện CNNd
được mô tả trên Bảng 3.5.
Bảng 3.5. Các tham số huấn luyện CNNd
Tham số Giá trị
Hàm lỗi Trung bình bình phương tối thiểu (MSE)
Phương pháp tối ưu Adam [81]
Batch Size 50
Tốc độ học Theo chiến lược One-Cycle Policy [82] [83]
Hàm kích hoạt SeLU [84]
Khởi tạo trọng số He Uniform [85]
Số epochs 100
106
Kết quả tấn công đề xuất được so sánh với kết quả điển hình được công bố bởi
Prouff [32] và Zaid [33] bởi các tham số là: (1) độ chính xác của mô hình phân lớp;
(2) khả năng tìm được khóa đúng và (3) hạng của khóa đúng hay còn gọi là lượng
thông tin ước đoán (GE) theo số lượng vết điện năng tiêu thụ.
3.5.1. Kết quả thực ngiệm
Trong pha lập mẫu, bộ phân lớp CNNd được huấn luyện với các vết điện năng
thu được từ thiết bị mẫu. Hình 3.8 mô tả độ chính xác của CNNd thay đổi theo số
epochs. Độ chính xác của CNNd tăng khi số epochs tăng lên chứng tỏ CNNd có khả
năng tổng quát hóa dữ liệu khá tốt. Với số lượng epoch từ 80 đến 100 độ chính xác
tăng không đáng kể nên không cần thiết sử dụng số epoch lơn hơn 100. Hình 3.8 cũng
mô tả độ chính xác của CNNP của Prouf và CNNZ của Zaid với cùng bộ dữ liệu huấn
luyện. Kết quả cho thấy rằng CNNd có độ chính xác lớn nhất bởi nó được xây dựng
với định hướng học các POIs, tạo các đặc trưng kết hợp của vết điện năng tiêu thụ
của thiết bị mặt nạ.
Hình 3.8. Hiệu quả phân lớp của CNNd
Trong pha tấn công, mô hình CNNd đã được huấn luyện ở bước trên được sử
dụng để xác định xác suất các vết điện năng tiêu thụ mới thuộc vào một lớp 𝑧𝑖 từ 0
đến 255. Khi sử dụng một số lượng 𝑁𝑎 vết điện năng tiêu thụ, tương ứng với các bản
rõ 𝑝𝑖 (𝑖 = 1: 𝑁𝑎) để tấn công, ước lượng hợp lý của các khóa 𝑘 (𝑘 = 𝑆𝑏𝑜𝑥(𝑝𝑖 + 𝑧𝑖))
nhận các giá trị từ 0 đến 255 cho bởi Hình 3.9. Giá trị khóa 𝑘 = 224 có ước lượng
hợp lý lớn nhất so với tất cả các khóa nên nó được xem là khóa đúng cần tìm của thiết
107
bị. Giá trị này đúng với khóa được sử dụng trong bộ dữ liệu ASCAD. Điều này chứng
tỏ phương pháp tấn công đề xuất có khả năng tìm được khóa đúng của thiết bị.
Hình 3.9. Điểm số quyết định của các khóa đối với bộ dữ liệu ASCAD
Về độ tin cậy của việc tìm khóa đúng, Hình 3.10 mô tả ước lượng hợp lý của
khóa đúng so với các khóa sai theo số lượng vết điện năng tiêu thụ được sử dụng
trong tấn công. Khi số lượng vết tăng lên, sự phân biệt giữa khóa đúng và khóa sai
cũng tăng theo. Điều này chứng tỏ việc xác định khóa đúng của phương pháp tấn
công đề xuất là có thể tin cậy.
Hình 3.10. Điểm số quyết định của các khóa theo số vết tấn công
Về hiệu quả tấn công, Hình 3.11 mô tả hạng của khóa đúng theo số lượng vết
điện năng tiêu thụ được sử dụng trong pha tấn công với các phương pháp khác nhau.
108
Với tấn công sử dụng mô hình CNNz do Zaid [33] đề xuất có tốc độ hội tụ về 0 chậm
hơn so với tấn công sử dụng CNNd. Điều này chứng tỏ, phương pháp tấn công đề
xuất sử dụng CNNd cần ít vết điện năng tiêu thụ hơn để có thể tìm được khóa đúng.
So sánh số lượng vết điện năng tiêu thụ được sử dụng để tấn công có tìm được khóa
đúng được thể hiện trên Bảng 3.6. Tấn công sử dụng CNNd cho hiệu quả tốt nhất, số
lượng vết điện năng tiêu thụ để tìm được khóa đúng giảm từ 191 còn 146 tương ứng
với lượng giảm là 23%. Kết quả này có được là nhờ kiến trúc bộ phân lớp CNNd được
xây dựng dựa trên cơ sở định hướng việc học các POIs và tạo ra các đặc trưng kết
hợp giữa các POIs phục vụ cho việc quyết định nhãn của vết điện năng tiêu thụ của
thiết bị mặt nạ.
Hình 3.11. So sánh giá trị GE giữa các phương pháp với bộ dữ liệu ASCAD
Bảng 3.6. So sánh số vết để GE=0 đối với các phương pháp tấn công khác nhau
Tấn công mẫu
[32]
Tấn công dựa trên
CNNp [32]
Tấn công dựa trên
CNNz [33]
Tấn công dựa
trên CNNd
450 1.146 191 146
3.5.2. Đánh giá và thảo luận
Căn cứ vào quy trình thực thi tấn công cho thiết bị mặt nạ và các kết quả thực
nghiệm, một số nhận xét đánh giá về phương pháp tấn công này như sau:
(1) Đây là phương pháp tấn công mẫu được áp dụng đối với thiết bị có phòng vệ
bằng mặt nạ trong đó mô hình phân lớp CNNd được sử dụng để phân lớp cho
109
các vết điện năng tiêu thụ. Việc lựa chọn POIs được thực hiện tự động bởi
các lớp tích chập của CNNd.
(2) Kiến trúc CNNd được sử dụng cho tấn công được xây dựng bằng việc phân
tích đặc điểm của các POIs đối với thiết bị có phòng vệ, các bộ lọc của tầng
tích chập được thiết kế để tối ưu việc học các POIs, các các tham số của CNNd
được xác định thông qua thuật toán tối ưu GWO.
(3) Về khả năng khôi phục khóa, tấn công này có khả năng khôi phục được khóa
đúng của thiết bị đã được phòng vệ bởi mặt nạ.
(4) Về hiệu quả tấn công, số vết điện năng tiêu thụ cần để khôi phục khóa thành
công cho thiết bị có phòng vệ mặt nạ giảm 23% so với các kết quả tốt nhất
hiện tại được công bố bởi Zaid.
Kết luận chương 3
Trong chương này, luận án đã đề xuất phương pháp tấn công mẫu sử dụng mô
hình phân lớp dựa trên kiến trúc mạng nơ-ron tích chấp để tấn công cho các thiết bị
có phòng vệ bằng phương pháp mặt nạ. Kiến trúc CNNd được đề xuất có khả năng
phát hiện được các đặc trưng của vết điện năng tiêu thụ và sử dụng chúng cho quá
trình phân lớp. Sau khi đã xác định được kiến trúc cơ bản của CNNd cho bài toán tấn
công mẫu với các thiết bị có phòng vệ mặt nạ, các tham số còn lại của nó được xác
định bởi thuật toán tối ưu GWO. Kết quả phần thực nghiệm trong chương này cũng
chỉ ra rằng GWO có thể áp dụng thành công để tìm tham số tối ưu kiến trúc CNNd
cho bài toán tấn công mẫu sau khi kiến trúc cơ bản đã được xác định. Số vết điện
năng tiêu thụ cần để khôi phục khóa thành công khi sử dụng kiến trúc CNNd cho các
thiết bị có phòng vệ giảm 23% so với các kết quả tốt nhất hiện tại. Đóng góp của luận
án trong chương này: Đề xuất phương pháp tấn công mẫu cho thiết bị có phòng vệ
mặt nạ CNN-D sử dụng bộ phân lớp CNNd với kiến trúc được xây dựng dựa trên
mạng nơ-ron tích chập.
110
KẾT LUẬN VÀ ĐỀ XUẤT
Luận án này đã nghiên cứu về các phương pháp tấn công phân tích điện năng tiêu
thụ, đề xuất được một số phương pháp tấn công phân tích điện năng tiêu thụ hiệu quả
đối với thiết bị không có phòng vệ và có phòng vệ. Dựa trên những phương pháp đề
xuất, kết quả thực nghiệm tấn công có thể kết luận rằng các tấn công phân tích điện
năng tiêu thụ thực sự hiệu quả trong việc tìm khóa đúng của thiết bị mật mã. Các tấn
công phân tích điện năng tiêu thụ có thể thực hiện thành công đối với thiết bị mật mã
không có phòng vệ và thiết bị mật mã có phòng vệ.
Các phương pháp tấn công đề xuất của luận án đã được trình bày trong các
chương 2 và 3 có hiệu quả hơn các phương pháp khác trong cùng điều kiện tấn công.
Kết quả này có được là nhờ luận án đã sử dụng các kỹ thuật : kỹ thuật VMD để giảm
nhiễu, trích chọn phần thông tin có ích từ vết điện năng tiêu thụ ; kỹ thuật lựa chọn
các điểm POIs kết hợp giữa VMD, GSO và SVM ; kỹ thuật học máy, học sâu, tối ưu
tham số nhằm giải quyết bài toán nâng cao hiệu quả tấn công. Các kết quả luận án đã
đạt được cụ thể như sau:
Luận án đã xây dựng được các phương pháp tấn công phân tích điện năng tiêu
thụ hiệu quả lên các thiết bị mật mã trong các trường hợp thiết bị không có phòng vệ
và thiết bị có phòng vệ.
Đối với thiết bị không có phòng vệ :
1. Xây dựng phương pháp tấn công phân tích điện năng tiêu thụ tương quan hiệu
quả sử dụng kỹ thuật phân tích mode biến phân VMD-CPA. Phương pháp này
cho phép giảm số lượng vết điện năng tiêu thụ cần thiết để khôi phục khóa
đúng khoảng 25% so với tấn công CPA truyền thống. VMD-CPA đặc biệt hiệu
quả trong các kịch bản tấn công thực tế khi các vết điện năng tiêu thụ chứa
nhiễu, số lượng vết điện năng tiêu thụ giảm hơn 50%.
2. Xây dựng được phương pháp tấn công mẫu hiệu quả VMD-GSO-SVM với
phương pháp lựa chọn POIs bằng cách kết hợp giữa kỹ thuật phân tích mode
biến phân, quá trình trực giao Gram-Schmidt và máy véc-tơ hỗ trợ. Hiệu quả
của phương pháp tốt hơn các phương pháp tấn công mẫu sử dụng SVM với
các phương pháp lựa chọn POIs là dựa trên phân tích tương quan và chuẩn hóa
được thể hiện ở số lượng vết điện năng tiêu thụ để GE=0 giảm cỡ khoảng 40%,
nó cũng đặc biệt hiệu quả trong trường hợp các vết điện năng tiêu thụ có nhiễu
khi số lượng vết giảm 60%.
111
Đối với thiết bị có phòng vệ :
3. Xây dựng phương pháp tấn công mẫu đối với thiết bị có phòng vệ bằng mặt
nạ sử dụng kiến trúc mạng nơ-ron tích chập CNNd. Kiến trúc mạng CNNd
được xây dựng dựa trên các đặc điểm POIs của thiết bị có phòng vệ bằng mặt
nạ cùng với các tham số được tối ưu bởi thuật toán GWO. Kết quả khi sử dụng
kiến trúc này để tấn công, số lượng vết điện năng tiêu thụ cần thiết để GE=0
giảm cỡ 23% so với kết quả được xem là tốt nhất tại thời điểm tham chiếu.
Ý nghĩa khoa học và thực tiễn :
Căn cứ vào những mục tiêu và kết quả đã đạt được và những kết luận trên, ý
nghĩa khoa học và thực tiễn của luận án là :
Ý nghĩa khoa học :
1. Xây dựng phương pháp tấn công phân tích điện năng tiêu thụ tương quan hiệu
quả sử dụng kỹ thuật sử dụng kỹ thuật phân tích mode biến phân VMD-CPA.
2. Xây dựng phương pháp tấn công mẫu hiệu quả VMD-GSO-SVM với kỹ thuật
lựa chọn POIs kết hợp giữa kỹ thuật phân tích mode biến phân, trực giao hóa
Gram-Schmidt và SVM.
3. Xây dựng phương pháp tấn công mẫu đối với các thiết bị có phòng vệ bằng
phương pháp mặt nạ CNN-D.
Ý nghĩa thực tiễn:
1. Kết quả luận án là cơ sở thực tiễn kiểm chứng khả năng tấn công phân tích
điện năng tiêu thụ có thể thực hiện trên các thiết bị mật mã cụ thể.
2. Cung cấp các phương pháp tấn công phân tích điện năng tiêu thụ hiệu quả, số
lượng vết điện năng tiêu thụ cần đo để khôi phục khóa đúng nhỏ qua đó giảm
thời gian thực thi tấn công.
Hướng nghiên cứu tiếp theo:
Trong luận án này, một số phương pháp tấn công hiệu quả cho thiết bị mật mã
không có phòng vệ và có phòng vệ bằng mặt nạ đã được đề xuất. Hướng nghiên cứu
tiếp theo của luận án là tiếp tục cải tiến, xây dựng các phương pháp tấn công hiệu quả
cho các thiết bị có phòng vệ bằng mặt nạ bậc cao, thiết bị được phòng vệ bởi các
phương pháp khác. Xây dựng quy trình đánh giá độ an toàn của thiết bị mật mã trước
đối với các tấn công phân tích điện năng tiêu thụ và qua đó xây dựng các giải pháp
phòng vệ cho thiết bị mật mã.
112
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ
CT01. Tran Ngoc Quy, Nguyen Hong Quang, An efficient correlation power analysis
attack using variational mode decomposition, Journal of Science and Technology:
Smart Systems and Devices, Vol. 1, Issue 1, May 2021, 017-024.
https://doi.org/10.51316/jst.150.ssd.2021.1.1.3
CT02. Tran N.Q., Nguyen H.Q., Hoang VP. (2021), Combined VMD-GSO Based
Points of Interest Selection Method for Profiled Side Channel Attacks. In: Vo NS.,
Hoang VP., Vien QT. (eds) Industrial Networks and Intelligent Systems. INISCOM
2021. Lecture Notes of the Institute for Computer Sciences, Social Informatics and
Telecommunications Engineering, vol 379. Springer, Cham.
https://doi.org/10.1007/978-3-030-77424-0_38
CT03. Ngoc Quy Tran, Hong Quang Nguyen, Efficient CNN-based profiled side
channel attacks, In Journal of Computer Science and Cybernetics, vol36, pp.1-22,
2021. https://doi.org/10.15625/1813-9663/37/1/15418
CT04. Trần Ngọc Quý, Nguyễn Hồng Quang, "Phương pháp tấn công phân tích điện
năng tiêu thụ tương quan hiệu quả sử dụng kỹ thuật phân tích mode biến phân", Kỷ
yếu hội nghị Quốc gia lần thứ XXIII về Điện tử, Truyền thông và Công nghệ Thông
tin, trang 191-197, 2020.
CT05. T. N. Quý, "Tấn công phân tích điện năng tiêu thụ lên AES-128," Tạp chí
Nghiên cứu Khoa học và Công nghệ quân sự, 2015.
CT06. Trần Ngọc Quý,”Tấn công phân tích điện năng tiêu thụ vi sai”, Chuyên san
nghiên cứu khoa học và công nghệ trong lĩnh vực an toàn thông tin, Số 03, pp. 11-
18, 2016.
CT07. Trần Ngọc Quý, Hoàng Văn Quân, “Phương pháp lựa chọn điểm tấn công cho
tấn công mẫu dựa trên phân bố chuẩn”, Tạp chí khoa học công nghệ thông tin và
truyền thông, Số 04 (CS.01), pp.30-36, 2018.
CT08. T.N.Qúy, "Tấn công mẫu dựa trên khoảng cách tuyến tính," Tạp chí nghiên
cứu khoa học và công nghệ quân sự, vol. 59, pp. 168-175, 2 2019.
CT09. Trần Ngọc Quý, Hoàng Văn Quân, "Phương pháp tấn công mẫu dựa trên thuật
toán SVM ", Tạp chí nghiên cứu khoa học và công nghệ quân sự, Số đặc san ATTT,
pp. 90-99, 8-2019.
CT10. Trần Ngọc Quý, Hoàng Văn Quân, "Tối ưu khả năng khai thác rò rỉ kênh kề
cho tấn công mẫu", Tạp chí nghiên cứu khoa học và công nghệ quân sự, vol. 62, pp.
80-88, 8-2019.
113
TÀI LIỆU THAM KHẢO
[1] Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, Handbook of
Applied Cryptography, Boca Raton : CRC Press, 1997.
[2] D. R. Stinson, Cryptography – Theory and Practice, Boca Raton : CRC Press,
1995.
[3] Kocher P, Jaffe J, Jun B, "Differential Power Analysis," CRYPTO 1999, LNCS
1666. Springer: Heidelberg, p. 388–397, 1999.
[4] Brier E, Clavier C, Olivier F, "Correlation Power Analysis with a Leakage
Model," in CHES 2004, LNCS 3156. Springer: Heidelberg, 2004.
[5] Chari S, Rao JR, Rohatgi P, "Template Attacks," CHES 2002, LNCS 2523.
Springer: Heidelberg, pp. 13-28, 2002.
[6] G. Hospodar, E. De Mulder, B. Gierlichs, J. Vandewalle, and I. Verbauwhede,
"Least Squares Support Vector Machines for Side-Channel Analysis," in
COSADE 2011, Darmstadt, 2011.
[7] A. Heuser and M. Zohner, "Intelligent Machine Homicide Breaking
Cryptographic Devices Using Support Vector," in COSADE 2012, Heidelberg,
2012.
[8] C. Clavier, J.-L. Danger, G. Duc, M. Elaabid, B. Gˆerard, S. Guilley, A.
Heuser,M. Kasper, Y. Li, V. Lomn´e, D. Nakatsu, K. Ohta, K. Sakiyama, L.
Sauvage,W. Schindler, M. St¨ottinger, N. Veyrat-Charvillon, M. Walle, and A.
Wurcke, "Practical improvements of side-channel attacks on AES: feedback
from the 2nd DPA contest," Journal of Cryptographic Engineering, vol. 4, no.
4, p. 259–274, 2014.
[9] Banciu, V., Oswald, E., Whitnall, C, "Reliable information extraction for single
trace attacks," in Proceedings of the 2015 Design,Automation and Test in
Europe Conference, San Jose, 2015.
[10] Liran Lerman, Gianluca Bontempi, Souhaib Ben Taieb, and Olivier
Markowitch, "A Time Series Approach for Profling Attack," in Lecture Notes
in Computer Science, Springer, 2013.
[11] Picek, S., Heuser, A., Guilley, S, "Template attack versus Bayes classifier," J.
Cryptogr. Eng, vol. 7, no. 4, pp. 343-351, 2017.
[12] Picek, S., Heuser, A., Jovic, A., Ludwig, S.A., Guilley, S., Jakobovic, D.,
Mentens, N, "Side-channel analysis and machine learning: A practical
perspective," in International Joint Conference on Neural Networks, 2017.
[13] Hettwer, B., Gehrer, S. & Güneysu, "Applications of machine learning
techniques in side-channel attacks: a survey," Journal of Cryptographic
Engineering, vol. 9, no. 35, pp. 1-28, 2019.
[14] Martinasek, Z., Zeman, V., Malina, L., Martinasek, J, "K-Nearest Neighbors
Algorithm in Profiling Power Analysis Attacks," Radioengineering, vol. 25, no.
2, pp. 365-382, 2016.
114
[15] E. Özgen, L. Papachristodoulou and L. Batina, "Template attacks using
classification algorithms," IEEE International Symposium on Hardware
Oriented Security and Trust , pp. 242-247, 2016.
[16] N. H. Quang, "DPA, một dạng tấn công sidechannel hiệu quả," Tạp chí nghiên
cứu Khoa học và Công nghệ Quân sự, 2013.
[17] Le.T.H, Clediere, Canovas.C, Robisson.B, Serviere.C, Lacoume.J, "A
Proposition for Correlation Power Analysis Enhancement," in CHES, 2006.
[18] Thomas Eisenbarth, Timo Kasper, Amir Moradi, Christof Paar, Mahmoud
Salmasizadeh, and Mohammad T. Manzuri Shalmani, "On the power of power
analysis in the real world: A complété break of the keeloqcode hopping
scheme," in 28th Annual International Cryptology Conferenee, Santa Barbara,
CA, USA, 2008.
[19] Josep Balasch, Benedikt Gierlichs, Roel Verdult, Lejla Batina, and Ingrid
Verbauwhede, "Power analysis of atmel cryptomemory - recovering keys from
secure eeproms," in The Cryptographers’ Track at the RSA Conférence, San
Francisco, CA, USA, 2012.
[20] Timo Kasper, Michael Silbermann, and Christof Paar, "Ail you can eat or
breaking a real-world contactless payment System," in Financial Cryptography
and Data Security, 14th International Conférence, Tenerife, Canary Islands,
2010.
[21] Timo Kasper, Michael Silbermann, and Christof Paar, "Ail you can eat or
breaking a real-world contactless payment System," in Financial Cryptography
and Data Security, 14th International Conférence, Tenerife, Canary Islands,
2010.
[22] David Oswald and Christof Paar, "Breaking mifare desfire MF3ICD40: power
analysis and templates in the real world," in Fast Software Encryption: 12th
International Workshop, 2012.
[23] Yuanyuan Zhou, Yu Yu, François-Xavier Standaert, and Jean-Jacques
Quisquater, "On the need of physical security for small embedded devices: A
case study with COMP128-1 implémentations in SIM cards," in Financial
Cryptography and Data Security - 17th International Conférence, Okinawa,
Japan, 2013.
[24] David Oswald, Daehyun Strobel, Falk Schellenberg, Timo Kasper, and Christof
Paar, "When reverse-engineering meets side-channel analysis - digital
lockpicking in practice," in Selected Areas in Cryptography - SAC 2013 - 20th
International Conférence, Burnaby, BC, Canada, 2013.
[25] David Oswald, Bastian Richter, and Christof Paar, "Side-channel attacks on the
yubikey 2 one-time password generator," in Research in Attacks, Intrusions,
and Defenses -16th International Symposium, RAID 2013, Rodney Bay, St.
Lucia, 2013.
[26] Stefan Mangard, Elisabeth Oswald, and Thomas Popp, Power Analysis
Attacks:Revealing the Secrets of Smart Cards, Springer US, 2007.
115
[27] Oswald E., Mangard S., Herbst C., Tillich S, "Practical Second-Order DPA
Attacks for Masked Smart Card Implementations of Block Cipher," in s. In:
Pointcheval D. (eds) Topics in Cryptology – CT-RSA 2006. CT-RSA 2006.
Lecture Notes in Computer Science, vol 3860, Springer, Berlin, Heidelberg,
2006.
[28] E. Prouff, M. Rivain and R. Bevan, "Statistical Analysis of Second Order
Differential Power Analysis," IEEE Transactions on Computers, vol. 58, no. 6,
pp. 799-811, 2009.
[29] Rivain M., Prouff E., Doget J, "Higher-Order Masking and Shuffling for
Software Implementations of Block," in Cryptographic Hardware and
Embedded Systems , 2009.
[30] Houssem Maghrebi, Thibault Portigliatti, and Emmanuel Prouff, "Breaking
cryptographic implementations using deep learning techniques," in In Claude
Carlet, M. Anwar Hasan, and Vishal Saraswat, editors, Security, Privacy, and
Applied Cryptography Engineering, Springer International Publishing. ISBN
978-3-319-49445-6, 2016, pp. 3-26.
[31] Eleonora Cagli, Cécile Dumas, and Emmanuel Prouff, "Convolutional neural
networks with data augmentation against jitter-based countermeasures," in In
Wieland Fischer and Naofumi Homma, editors,Cryptographic Hardware and
Embedded Systems – CHES 2017, Cham, Springer International Publishing,
2017, pp. 45-68.
[32] Emmanuel Prouff, Remi Strullu, Ryad Benadjila, Eleonora Cagli, and Cecile
Dumas, "Study of deep learning techniques for side-channel analysis and
introduction to ascad database," Journal of Cryptographic Engineering, vol.
2020, no. 2, 2019.
[33] Gabriel Zaid, Lilian Bossuet, Amaury Habrard, and Alexandre Venelli,
"Methodology for efficient cnn architectures in profiling attacks," ACR
Transactions on Cryptographic Hardware and Embedded Systems, vol. 2020,
no. 1, pp. 1-36, 2019.
[34] BRIER, E., CLAVIER, C., OLIVIER, F, "Correlation power analysis with a
leakage model," in Proceedings of the International Workshop on
Cryptographic Hardware and Embedded Systems, Cambridge (USA), 2004.
[35] S. Mangard, E. Oswald, and T. Popp, Power Analysis Attacks: Revealing the
Secrets of Smart Cards, New York: USA: Springer, 2010.
[36] Clavier, C., Danger, J., Duc, G. et al, "Practical improvements of side-channel
attacks on AES: feedback from the 2nd DPA contest," J Cryptogr Eng, vol. 4,
pp. 259-274, 2014.
[37] D. Oswald and C. Paar, "Improving side-channel analysis with optimal linear
transfonns," in International Conference on Smart Card Research and
Advanced Applications, 2012.
116
[38] A. Barenghi, G. Pelosi, and Y. Teglia, "lnfonnation leakage discovery
techniques to enhance secure chip design," in International Workshop on
information Security Theory and Practices, 2011.
[39] Souissi Y, Danger J.L, Mekki S, Guilley S, Nassar M, "Techniques for
electromagnetic attacks enhancement," in Design and Technology ofintegrated
Systems in Nanoscale Era (DTlS), 2010.
[40] Souissi S, Guilley S, Danger J.L, Mekki S, Duc G, "Improvement of power
analysis attacks using Kalman filter," in IEEE International Coriference on
Acoustics, Speech and Signal Processing, 2010.
[41] X. Charvet and H. Pelletier, "Improving the DPA attack using Wavelet
transfom," in NIST Physical Security Testing Workshop, 2005.
[42] Y. Souissi, M. A. Elaabid, N. Debande, S. Guilley, and J.-L. Danger, "Novel
applications of wavelet transfonns based side-channel analysis," in Non-
Invasive Attack Testing Workshop, 2011.
[43] N. Debande, Y. Souissi, M. Aabid, S. Guilley, and J.-L. Danger, "Wavelet
transfonn based pre-processing for side channel analysis," in Proceedings of the
2012 45th Annual IEEE/ACM International Symposium on Microarchitecture
Workshops, 2012.
[44] A. Park, D.-G. Han, and J. Ryoo, "CPA pemformance comparison based on
Wavelet Transform," in Security Technology (ICCST), 2012 IEEE International
Carnahan Coriference, 2012.
[45] W. Liu, L. Wu, X. Zhang, and A. Wang, "Wavelet-Based Noise Reduction in
Power Analysis Attack," in Computational intelligence and Security (CIS),
2014 Tenth International Conference, 2014.
[46] Dragomiretskiy K and Zosso D, "Variational Mode Decompositio," IEEE
Transactions on Signal, vol. 62, pp. 513-544, 2014.
[47] Bartkewitz, T., Lemke-Rust, K, "Efficient template attacks based on
probabilistic multi-class support vector machines," in Mangard, S. (ed.) Smart
Card Research and Advanced Applications:11th International Conference,
CARDIS 2012, Graz, Austria, 2012.
[48] Hettwer, B., Gehrer, S. & Güneysu, T, "Applications of machine learning
techniques in side-channel attacks: a survey," J Cryptogr Eng, vol. 10, pp. 135-
162, 2020.
[49] Rechberger C., Oswald E, " Practical Template Attacks," in Lim C.H., Yung M.
(eds) Information Security Applications. WISA 2004. Lecture Notes in
Computer Science, vol 3325, Springer, Berlin, Heidelberg, 2005, p. 440–456.
[50] Gierlichs B., Lemke-Rust K., Paar C, "Templates vs. Stochastic Methods," in
Goubin L., Matsui M. (eds) Cryptographic Hardware and Embedded Systems -
CHES 2006. Lecture Notes in Computer Science, vol 4249, Springer, Berlin,
Heidelberg, 2006, pp. 15-29.
[51] Lomné V., Prouff E., Roche T, "Behind the Scene of Side Channel Attacks," in
Sako K., Sarkar P. (eds) Advances in Cryptology - ASIACRYPT 2013.
117
ASIACRYPT 2013. Lecture Notes in Computer Science, vol 8269, Springer,
Berlin, Heidelberg, 2013, pp. 506-525.
[52] Lerman, L., Bontempi, G., Markowitch, O, "Side channel attack: an approach
based on machine learning," in COSADE 2011 - Second International
Workshop on Constructive Side-Channel, 2011.
[53] Fan G., Zhou Y., Zhang H., Feng D, "How to Choose Interesting Points for
Template Attacks More Effectively".Yung M., Zhu L., Yang Y. (eds) Trusted
Systems. INTRUST 2014. Lecture Notes in Computer Science, vol 9473.
Springer, Cham.
[54] Oswald E., Mangard S., Pramstaller N., Rijmen V., "A Side-Channel Analysis
Resistant Description of the AES S-Box," in Gilbert H., Handschuh H. (eds)
Fast Software Encryption. FSE 2005. Lecture Notes in Computer Science, vol
3557, Berlin, Heidelberg, Springer, 2005.
[55] Prouff E., Rivain M, "A Generic Method for Secure SBox Implementation," in
Kim S., Yung M., Lee HW. (eds) Information Security Applications. WISA 2007.
Lecture Notes in Computer Science, vol 4867, Berlin, Heidelberg, Springer,
2007.
[56] Gierlichs B., Lemke-Rust K., Paar C, "Templates vs. Stochastic Methods," in
Cryptographic Hardware and Embedded Systems - CHES 2006, 2006.
[57] M. O. Choudary and M. G. Kuhn, "Efficient, Portable Template Attacks," IEEE
Transactions on Information Forensics and Security, vol. 13, no. 2, pp. 490-
501, 2018.
[58] Whitnall C., Oswald E, "Profiling DPA: Efficacy and Efficiency Trade-Offs,"
in Cryptographic Hardware and Embedded Systems, 2013.
[59] Zhimin Chen and Yujie Zhou, "Dual-Rail Random Switching Logic: A
Countermeasure to Reduce Side Channel Leakage," in CHES, 2006.
[60] S. Guilley, L. Sauvage, F. Flament, V. Vong, P. Hoogvorst and R. Pacalet,
"Evaluation of Power Constant Dual-Rail Logics Countermeasures against
DPA with Design Time Security Metrics," IEEE Transactions on Computers,
vol. 59, no. 10, pp. 1250-1263, 2010.
[61] J. Kaps and R. Velegalati, "DPA Resistant AES on FPGA Using Partial DDL,"
18th IEEE Annual International Symposium on Field-Programmable Custom
Computing Machines, pp. 273-280, 2010.
[62] Chari S., Jutla C.S., Rao J.R., Rohatgi P, "Towards Sound Approaches to
Counteract Power-Analysis Attacks," in Advances in Cryptology, 1999.
[63] Goubin L., Patarin J., "DES and Differential Power Analysis The “Duplication”
Method. In:," in Koç Ç.K., Paar C. (eds) Cryptographic Hardware and
Embedded Systems. CHES 1999. Lecture Notes in Computer Science, vol 1717,
Springer, Berlin, Heidelberg, 1999.
[64] Golic J.D., Tymen C, "Multiplicative Masking and Power Analysis of AES.,"
in Kaliski B.S., Koç .K., Paar C. (eds) Cryptographic Hardware and Embedded
118
Systems - CHES 2002. CHES 2002. Lecture Notes in Computer Science, vol
2523, Springer, Berlin, Heidelberg, 2002.
[65] C. JS, "Higher Order Masking of Look-Up Tables," in Nguyen P.Q., Oswald E.
(eds) Advances in Cryptology – EUROCRYPT 2014. EUROCRYPT 2014.
Lecture Notes in Computer Science, vol 8441, Springer, Berlin, Heidelberg,
2014.
[66] Maxime Nassar, Youssef Souissi, Sylvain Guilley, and Jean-Luc Danger, "Rsm:
A small and fast countermeasure for aes, secure against 1st and 2nd-order zero-
offset sca," in Proceedings of the Conference on Design, Automation and Test
in Europ , San Jose, CA, USA, 2012.
[67] Standaert F-X, Malkin TG, Yung M, "A Unified Framework for the Analysis
of Side-Channel Key Recovery Attacks," in EUROCRYPT, 2009.
[68] J. Massey, "Guessing and entropy," in Proceedings of IEEE International
Symposium on Information Theory (ISIT ’94), 1994.
[69] C. Cachin, Entropy measures and unconditional security in cryptography,
1997.
[70] SAKURA-GW,
[71] M. Nassar, Y. Souissi, S. Guilley and J. Danger, "RSM: A small and fast
countermeasure for AES, secure against 1st and 2nd-order zero-offset SCAs,"
in Design, Automation & Test in Europe Conference & Exhibition (DATE),
Dresden, 2012.
[72] Juan Ai, Zhu Wang, Xinping Zhou and Changhai Ou, "Variational mode
decomposition based denoising in side channel attacks," in IEEE International
Conference on Computer and Communications, 2016.
[73] H. Stoppiglia, G. Dreyfus, R. Dubois, Y.Oussar, "Ranking a random feature for
variable and feature selection," J. Mach Learn, vol. 3, pp. 1399-1414, 2003.
[74] Chang, C.-C., & Lin, C.-J, "LIBSVM: A library for support vector machines,"
ACM Transactions on Intelligent Systems and Technology (TIST), vol. 2, no. 3,
pp. 1-27, 2011.
[75] HSU, C. W., CHANG, C. C., LIN, C. J., A practical guide to support vector
classification, BJU International, 2008.
[76] M. T.S, "Second-Order Power Analysis to Attack DPA Resistant Software," in
Cryptographic Hardware and Embedded Systems, 2000.
[77] Chari S., Jutla C.S., Rao J.R., Rohatgi P, "Towards Sound Approaches to
Counteract Power-Analysis Attacks," in Wiener M. (eds) Advances in
Cryptology — CRYPTO’ 99. CRYPTO 1999. Lecture Notes in Computer
Science, Springer, Berlin, Heidelberg, 1999, pp. 1-26.
[78] Y. BENGIO, "Learning deep architectures for AI," Foundations and Trends in
Machine Learning, vol. 21, pp. 1-127, 2009.
[79] Eswaramoorthy, S., Sivakumaran, N., Sekaran, S., "Grey wolf optimization
based parameter selection for support vector machines," COMPEL - The
119
international journal for computation and mathematics in electrical and
electronic engineering, vol. 35, no. 5, pp. 1513-1523 , 2016.
[80] S. Mirjalili, S. M. Mirjalili, and A. Lewis, "Grey wolf optimizer," Advances in
Engineering Software, vol. 69, p. 46–61, 2014.
[81] Ian J. Goodfellow, Yoshua Bengio, and Aaron C. Courville, Deep Learning,
MIT Press, 2016.
[82] Leslie N. Smith and Nicholay Topin, "Super-convergence: Very fast training of
residual networks using large learning rates," CoRR, 2017.
[83] L. N. Smith, "Cyclical learning rates for training neural networks," in IEEE
Winter Conference on Applications of Computer Vision, 2017.
[84] Günter Klambauer, Thomas Unterthiner, Andreas Mayr, Sepp Hochreiter,
"Self-Normalizing Neural Networks," in NIPS 2017, 971-980, 2017.
[85] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun, "Delving deep into
rectifiers: Surpassing human-level performance on imagenet classification," in
Proceedings of the 2015 IEEE International Conference on Computer Vision,
2015.
[86] Shrikumar A, Greenside P, Kundaje A, "Learning Important Features Through
Propagating Activation Differences," in Proceedings of the 34th International
Conference on Machine Learning, 2017.