Tham số của CNNd cho bởi GWO

Một phần của tài liệu (Luận án tiến sĩ) 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 (Trang 131)

Số bộ lọc tầng CONV1: 1 Kích thước bộ lọc tầng CONV1: 2 Số bộ lọc tầng CONV2: 3 Kích thước bộ lọc tầng CONV2: 4 Số tầng tầng nơ-ron ẩn: 1 Số nơ-ron / tầng: 2 3.3.3. Đánh giá bộ phân lớp CNNd Phương pháp xây dựng Số tầng tích chập Mô-đun HO-SCA

Tầng đầu ra

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ị.

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ênHì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õ

Sbox

Tập các vết điện năng tiêu thụ được gán nhãn zi (i=1:m) Lối ra Sbox zm Thu thập các vết điện năng tiêu thụ Pha tấn công Huấn luyện CNNd

Tập vết tấn công (chưa gán

nhãn)

Hình 3.7. Sơ đồ tấn công cho thiết bị mặt nạ CNN-D102 102

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( | )

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 )

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.

=

(( ) 0

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

= ( ( 2

⋮ (

- 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 = .

=

⋮ (

(

- 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ả

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

Bản rõ ( ) 1 6 1 2 64 2 ⋮ ⋮ 202

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.

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

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.

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 ASCADBả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 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

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

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.

Một phần của tài liệu (Luận án tiến sĩ) 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 (Trang 131)

Tải bản đầy đủ (DOCX)

(152 trang)
w