1. Trang chủ
  2. » Công Nghệ Thông Tin

Kết hợp mạng perceptron đa tầng và phân tích tương quan công suất tiêu thụ trong đánh giá bảo mật đối với mã mật AES-128

4 7 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 732,17 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong bài viết này, nhóm tác giả đề xuất mô hình mạng perceptron đa tầng thực hiện tấn công không lập mẫu trong đánh giá bảo mật phần cứng cho mã mật AES-128. Đồng thời, bài viết còn đề xuất giải pháp sử dụng kỹ thuật phân tích tương quan công suất tiêu thụ trong xây dựng tập dữ liệu cho mạng perceptron đa tầng.

Trang 1

Kết hợp mạng perceptron đa tầng và phân tích tương quan công suất tiêu thụ trong đánh giá

bảo mật đối với mã mật AES-128 Hoàng Văn Phúc, Đỗ Ngọc Tuấn, Lê Văn Nam và Lưu Văn Tuấn

Viện Tích hợp hệ thống, Học viện Kỹ thuật Quân sự

Số 236 Hoàng Quốc Việt, Quận Bắc Từ Liêm, Hà Nội

Email: phuchv@mta.edu.vn

Tóm tắt— Ứng dụng trí tuệ nhân tạo trong lĩnh vực bảo

mật phần cứng đang trở thành một xu hướng nghiên cứu

trên thế giới Trong bài báo này, nhóm tác giả đề xuất

mô hình mạng perceptron đa tầng thực hiện tấn công

không lập mẫu trong đánh giá bảo mật phần cứng cho

mã mật AES-128 Đồng thời, chúng tôi đề xuất giải pháp

sử dụng kỹ thuật phân tích tương quan công suất tiêu

thụ trong xây dựng tập dữ liệu cho mạng perceptron đa

tầng Kết quả thực nghiệm, phân tích trên phần cứng mã

hóa giúp khẳng định tính khả thi cao của các đề xuất

trong việc ứng dụng trí tuệ nhân tạo cho đánh giá bảo

mật phần cứng

Từ khoá- Mạng perceptron đa tầng, phân tích tương

quan công suất, tấn công không lập mẫu, tấn công kênh

bên, mã hóa AES

I GIỚITHIỆU Trong thời đại kỹ thuật số ngày nay, các thiết bị mã

hoá sẽ thực hiện biến bản tin rõ thành bản tin được mã

hoá để bảo vệ dữ liệu Tuy nhiên, trong quá trình thực

thi mã hoá hoặc giải mã thì các thiết bị này luôn có sự

rò rỉ thông tin nhất định và được gọi là thông tin kênh

kề, ví dụ thời gian thực hiện, bức xạ điện từ trường,

công suất tiêu thụ điện Từ các nguyên lý kỹ thuật căn

bản về cấu tạo của các vi mạch điện tử, chúng ta nhận

định rằng công suất tiêu thụ của thiết bị mã hoá không

phải là một tham số ngẫu nhiên mà nó phụ thuộc rất

nhiều vào quá trình thiết bị xử lý dữ liệu, đặc biệt là

thực hiện tính toán trong thời gian đủ lớn Do đó, thông

tin về công suất tiêu thụ không mong muốn này được

chính kẻ tấn công lợi dụng nhằm phân tích và đánh cắp

các khoá bí mật

Tấn công kênh bên thường được chia thành hai

hướng tiếp cận đó là tấn công lập mẫu (Profile attack)

và không lập mẫu (Non-profile attack) Đối với tấn

công lập mẫu, điển hình là Template attack [1], người

tấn công cần thực hiện hai bước quan trọng Thứ nhất

là lập mẫu, người tấn công phải có một thiết bị có chức

năng và cấu tạo giống hệt như thiết bị mục tiêu và có

đầy đủ quyền thực thi trên thiết bị Sau đó người tấn

công sẽ phải thực hiện mã hóa và ghi lại một lượng lớn

power trace của mỗi từ khóa dự đoán Thứ hai là áp

dụng mẫu đã có lên thiết bị mục tiêu Người tấn công

thực hiện mã hóa trên thiết bị mục tiêu, ghi lại một

lượng nhỏ vết năng lượng (power trace), so sánh các khóa dự đoán với mẫu đã lập và xác định key với mẫu nào giống nhất Về lý thuyết, tấn công lập mẫu được coi là tấn công hiệu quả khi chỉ cần một lượng nhỏ power trace Tuy nhiên, tấn công lập mẫu thường khó

áp dụng trên thực tế khi mà người tấn công chỉ có duy nhất thiết bị mục tiêu và lượng power trace ghi được bị giới hạn Ngược lại, với tấn công không lập mẫu, ví dụ như tấn công phân tích vi sai công suất tiêu thụ (DPA: Differential Power Analysis) [2], hoặc tấn công phân tích tương quan công suất (CPA: Correlation Power Analysis) [3], người tấn công chỉ cần sử dụng thiết bị mục tiêu để ghi lại power trace và dùng các kỹ thuật thống kê để tìm ra khóa bí mật

Trong những năm gần đây, dưới sự phát triển không ngừng của trí tuệ nhân tạo (AI: Artificial Intelligence), các ứng dụng của nó đang ngày càng trở nên thiết thực và quan trọng mà điển hình là kỹ thuật học máy (ML: Machine Learning) hay kỹ thuật học sâu (DL: Deep Learning) Trong đó, Perceptron đa tầng (MLP: Multilayer Perceptron) là một mô hình mạng thuộc kỹ thuật học sâu, mô hình này được tạo ra dựa trên việc mô phỏng các kết nối đa tầng của các tế bào thần kinh (Nơ-ron) trong bộ não người Từ các dữ liệu đầu vào, trải qua quá trình huấn luyện của mạng MLP, máy tính hoàn toàn có thể phân tích và phân loại các dữ liệu ở đầu ra một cách nhanh chóng và chính xác Chính vì vậy, ứng dụng trí tuệ nhân tạo trong lĩnh vực bảo mật đang trở thành một xu hướng nghiên cứu trên thế giới

Trong các công bố [4], [5], mạng MLP được ứng dụng để tìm ra khóa bí mật của mã hóa AES Đặc biệt, bài báo [5] đã chứng minh mạng MLP không chỉ áp dụng trong tấn công lập mẫu mà còn có thể áp dụng rất tốt với tấn công không lập mẫu Tuy nhiên, các công bố

ở trên chỉ áp dụng với dữ liệu có số mẫu đầu vào nhỏ Trên thực tế với dữ liệu đầu vào là các power trace, số lượng mẫu là rất lớn, thường là vài nghìn cho đến chục nghìn mẫu Trong khi đó, số lượng mẫu đầu vào cho mạng MLP ảnh hưởng rất nhiều đến quá trình xử lý và tính toán của mạng Vì vậy, trong bài báo này, chúng tôi sẽ giới thiệu mô hình mạng MLP nhằm thực hiện tấn công mã mật AES không lập mẫu, kết hợp giải pháp sử dụng kỹ thuật phân tích tương quan công suất

Trang 2

tiêu thụ cho việc xây dựng tập dữ liệu Kỹ thuật này

thực hiện tách ra các mẫu có giá trị tương quan cao

nhất để đưa vào mô hình huấn luyện Nhóm tác giả

cũng nhận thấy giải pháp xây dựng tập dữ liệu này giúp

mạng MLP trở nên đơn giản hơn cho phân loại kết quả

đầu ra

Phần tiếp theo bài báo được tổ chức như sau Đề

xuất giải pháp xây dựng tập dữ liệu cho mạng MLP

được trình bày trong phần II Phần III sẽ giới thiệu kiến

trúc mạng MLP đề xuất Các kết quả khảo sát phân tích

khóa bí mật được trình bày trong phần IV Phần V là

kết luận hiệu quả của giải pháp xây dựng tập dữ liệu và

tính khả thi của kiến trúc mạng đề xuất

Power trace là những vector biểu diễn các giá trị tỉ

lệ với công suất tiêu thụ của mạch mục tiêu sau khi

chuyển đổi ADC Các power trace thường có hàng

nghìn mẫu Như đã nhắc đến ở phần I, số lượng mẫu

này sẽ rất lớn khi áp dụng mạng MLP Với kỹ thuật

phân tích tương quan công suất tiêu thụ (CPA) , toàn

bộ các mẫu trên một power trace sẽ được tính giá trị

tương quan với một mô hình công suất tiêu thụ dự

đoán Tuy nhiên, chỉ có một số ít các mẫu trong một

power trace sẽ liên quan đến mô hình đã xây dựng

Những mẫu này thường sẽ cho giá trị tương quan với

mô hình công suất dự đoán cao hơn các điểm còn lại

Nhận thấy, nếu tách các mẫu có giá trị tương quan cao

làm đầu vào, số chiều dữ liệu sẽ giảm xuống rất nhiều

Đồng thời chúng ta hoàn toàn có thể xây dựng một mô

hình học máy để phân loại các power trace theo các

nhóm có độ tương quan khác nhau Chính vì thế,

nhóm tác giả đề xuất sử dụng kỹ thuật phân tích tương

quan công suất để có thể giảm số lượng mẫu đầu vào

Cụ thể, 50 vị trí mẫu có giá trị tương quan lớn nhất sẽ

được lấy ra để tạo thành tập dữ liệu đầu vào cho MLP

Để thực hiện điều này, chúng tôi sử dụng hệ số tương

quan Pearson Phương pháp này đã được tác giả trong

bài báo [5] sử dụng, tuy nhiên điểm đặc biệt trong đề

xuất của chúng tôi là chỉ sử dụng 3 giá trị HW=3,4,5

thay vì sử dụng 9 giá trị HW Điều đó dẫn đến việc số

lượng power trace cần để tính toán có thể giảm 30%

(

Chúng tôi sử dụng N bản tin ngẫu nhiên cho việc

mã hóa, sau đó N power trace sẽ được ghi lại Mỗi

power trace sẽ chứa L mẫu Kí hiệu t n,i là giá trị của

mẫu thứ i trong power trace n, i và n thỏa mãn điều

kiện (1<i<L, 1<n<N) d n,B là giá trị của khóa con thứ B

(B {1;16}) trong bản tin thứ n Để có thể thu thập

được 50 mẫu có hệ số tương quan cao nhất từ power

traces, chúng tôi sử dụng một nửa số lượng power

trace ban đầu cho việc tính toán, kỹ thuật này đã được

nhóm tác giả thực hiện trong [6] và có hiệu quả lớn về

mặt thời gian thay vì tính toán toàn bộ số power trace

Trong trường hợp này, hàm S-Box của thuật toán AES

được sử dụng để tính toán giá trị trung gian HW theo

công thức (1), giá trị h sau đó được dùng để gán nhãn

cho các tập power trace tương ứng với plaintext cho giá trị h=3,4,5 Sau đó công thức (2) sẽ được sử dụng

để tính toán hệ số tương quan từ 256 giá trị khóa dự

đoán (k=[0;255])

1

2

N

n

k i

n k

i

=

=

(2)

Trong đó h k và t i lần lượt là trung bình của mô hình công suất dự đoán và công suất tiêu thụ thực tế

tại mẫu i

Sau khi đã xác định được 50 điểm có hệ số tương quan cao nhất, chúng tôi thực hiện phân loại toàn bộ

số power trace theo ba giá trị trung gian là HW= 3,4,5 Thực hiện tương tự với các byte khóa con còn lại, kết quả thu được là 16 thư mục tương đương với 16 byte khóa con Trong mỗi thư mục là 256 thư mục con tương ứng được tạo ra từ 256 giá trị khóa dự đoán Trong mỗi thư mục con này, ba thư mục có tên HW3, HW4, HW5 được tạo ra, đây cũng chính là nhãn được

sử dụng để phân loại trong mạng MLP Cuối cùng, ứng với mỗi thư mục nhãn, toàn bộ power trace sẽ được phân loại tương ứng Hình 1 mô tả cấu trúc của tập dữ liệu dựa trên kỹ thuật đề xuất

Dataset1

Key_0

Key_255

HW3

HW4

HW5 Dataset16

5000 Power traces

Power trace 1 Power trace N1 Power trace 1 Power trace N2 Power trace 1 Power trace N3

Hình 1 Cấu trúc tập dữ liệu đề xuất: 5000 power trace ban đầu (5000 mẫu/power trace) được tính toán và phân loại trong 3 nhóm có tên tương ứng với giá trị trung gian (HW3, HW4 và HW5) Mỗi nhóm chứa N1, N2, N3 power trace Mỗi power trace chứa 50 mẫu có giá trị tương quan cao nhất

Mạng MLP đã được chứng minh hiệu quả trong việc áp dụng cho phân tích khóa bí mật của AES [5] Nguyên lý chính của áp dụng mạng MLP trong phân tích khóa bí mật AES là sử dụng các tham số của mô hình trong quá trình huấn luyện Bằng việc xây dựng tập dữ liệu dựa trên giá trị tương quan cao nhất giữa power trace và giá trị trung gian HW Chúng ta đã tạo

ra được mối liên hệ giữa đầu vào (50 mẫu) và giá trị

Trang 3

đầu ra (HW) Vì vậy, khi áp dụng mạng MLP, ứng với

khóa dự đoán là chính xác, mạng MLP có thể dễ dàng

huấn luyện và phân loại đơn giản với 3 nhãn Điều này

dẫn đến các tham số của mạng MLP trong quá trình

huấn luyện như độ chính xác (accuracy) sẽ tăng dần

hoặc giá trị của hàm mất mát (loss function) sẽ giảm

dần Ngược lại, với khóa dự đoán là sai, giá trị trung

gian cũng sẽ bị tính toán sai, dẫn đến mạng MLP

không thể huấn luyện được Điều này dẫn đến các

tham số nêu trên sẽ giữ nguyên hoặc thay đổi không

đáng kể qua mỗi epoch huấn luyện Đây chính là yếu

tố chính để ứng dụng mạng MLP nói riêng hay các kỹ

thuật học sâu khác vào phân tích khóa AES không cần

lập mẫu Tuy nhiên, nhược điểm là mỗi mô hình chỉ có

thể huấn luyện dự doán cho một giá trị khóa, vì vậy

với 256 giá trị khóa dự đoán, chúng ta cần chạy 256

mô hình mạng MLP để tìm ra khóa nào đúng

Để chứng minh hiệu quả của việc ứng dụng mạng

MLP cho phân tích khóa AES không lập mẫu, nhóm

tác giả đã xây dựng mô hình mạng MLP bao gồm có

thành phần lớp nhận giá trị đầu vào, các lớp ẩn và cuối

cùng là lớp đầu ra như thể hiện trong Hình 2

Hình 2 Cấu trúc mạng MLP được sử dụng

Lớp đầu vào của mạng MLP đề xuất sử dụng 50

nút tương ứng với dữ liệu đầu vào là 50 mẫu Lớp ẩn

gồm có 6 lớp được thiết kế với số lượng nút được mô

tả trong Bảng I Cuối cùng là lớp đầu ra với 3 nút Mô

hình mạng được minh họa trong Hình 3 Mỗi đầu ra

của một nút (trừ các nút của lớp đầu vào) được tính

dựa trên công thức:

( )l (W( )l T ( 1)l ( )l )

Trong đó a là giá trị đầu ra, b là bias của lớp thứ l,

W là ma trận trọng số Hàm f(.) trên được gọi là một

hàm kích hoạt (activation function) Trong thiết kế đề

xuất, để có được hiệu quả trong tính tóan, chúng tôi sử

dụng hàm eLU (Exponential Linear Unit) cho tất cả

các nút trong lớp ẩn, đây là một hàm có hiệu quả tốt

hơn so với hàm thông dụng ReLU, đồng thời giúp

mạng tránh được hiện tượng vanishing gradients Hàm

eLU được biểu diễn như sau:

if z 0 ( )

[ exp( ) 1] otherwise

z eLU z

z

=

(4)

Với mục đích là thực hiện phân loại các power

trace ứng với các giá trị HW, nhóm tác giả sử dụng lớp

Softmax Regression là lớp đầu ra cho việc tính xác

suất của các power trace ứng với các HW Chi tiết tham số của mô hình mạng được mô tả trong Bảng I

Về tập dữ liệu huấn luyện, chúng tôi phân loại tập

dữ liệu ban đầu một cách ngẫu nhiên theo tỉ lệ 80% cho tập huấn luyện (Tranning set) và 20% cho tập kiểm thử (Test set)

Bảng I CÁC THAM SỐ THIẾT LẬP MẠNG MLP

Nhóm tác giả thực hiện khảo sát mô hình đề xuất bằng power trace thu được từ board mạch CW1173 ChipWhisperer-Lite [7] Đây là một dự án mã nguồn

mở cung cấp phần cứng và mã nguồn cho nghiên cứu tấn công kênh bên Phiên bản mà tác giả sử dụng có chứa mạch mục tiêu là vi điều khiển Atmel AVR Xmega128 8-bit, vi điều khiển này thực thi thuật toán

mã hóa AES-128 [8] ChipWhisperer cung cấp khả năng thiết lập để ghi các power trace thông qua chip ADC tích hợp sẵn trên board Thiết lập này cho phép người sử dụng có thể nạp chương trình từ máy tính, gửi bản tin cần mã hóa, khóa bí mật xuống mạch mục tiêu và gửi các giá trị đo công suất tiêu thụ thông qua ADC tích hợp trên mạch mục tiêu về máy tính

Để xây dựng tập dữ liệu cho khảo sát mô hình mạng MLP đề xuất, nhóm tác giả thực hiện thu thập

5000 power trace, mỗi power trace chứa 5000 mẫu tương đương quá trình thực thi vòng mã hóa thứ nhất của thuật toán AES Trong tấn công không lập mẫu, chúng tôi thực hiện giữ khóa bí mật cố định, bản tin cần mã hóa sẽ được lấy ngẫu nhiên 5000 bản tin Trong tất cả các khảo sát về phân tích mã AES, chỉ vòng mã hóa thứ nhất được sử dụng Tiếp theo, chúng tôi thực hiện huấn luyện và thực hiện phân loại sử dụng 80% tập dữ liệu đã xây dựng, số còn lại dùng để thực hiện kiểm tra

Toàn bộ chương trình xây dựng tập dữ liệu và mô hình mạng MLP đề xuất được viết trên MATLAB Chi tiết tham số kết quả chạy mô hình MLP đề xuất cùng tập dữ liệu được thể hiện trong Hình 3 và Hình 4 Dễ dàng nhận thấy rằng, các tham số về độ chính xác và tham số hàm mất mát của khóa dự đoán đúng và khóa

dự đoán sai là phân biệt hoàn toàn Quá trình huấn luyện, chúng tôi cho mạng MLP thực hiện 30 epoch Hình 4 cho thấy, sau 10 epoch đầu tiên tham số độ chính xác và hàm mất mát bắt đầu có sự thay đổi rõ ràng, thể hiện mạng MLP đề xuất có thể huấn luyện được từ tập dữ liệu mà nhóm tác giả đã xây dựng Đối

Trang 4

với khóa dự đoán sai được minh họa trong Hình 3, các

tham số huấn luyện gần như không thay đổi, thể hiện

rằng mạng MLP không thể học được các dữ liệu từ tập

dữ liệu đã tạo

Hình 3 Các tham số quan sát được của khóa giả thiết sai

Hình 4 Các tham số quan sát được của khóa giả thiết đúng

Ngoài ra, việc phân biệt khóa đúng hay sai còn có

thể sử dụng confusion matrix như Hình 5 Đối với

khóa sai sự phân bố của các điểm thực sự thuộc về một

nhãn sẽ tập trung vào HW4, ngược lại, với khóa đúng,

các điểm thực sự thuộc vào các nhãn có tỉ lệ phần trăm

cao, thể hiện mô hình được huấn luyện và tiến hành

phân loại tốt Các giá trị này sẽ phân bố đều ra cả ba

nhãn HW tạo thành một đường chéo Từ đây, thông

qua trực quan hoặc sử dụng lập bảng và tìm giá trị lớn

nhất của tham số độ chính xác, chúng ta có thể tìm

được toàn bộ khóa bí mật AES

Trong bài báo này, nhóm tác giả đã xây dựng thành

công mô hình mạng MLP cho tấn công không lập mẫu

mã mật AES thực thi trên CW1173 Nhóm tác giả đã

sử dụng kỹ thuật phân tích tương quan công suất tiêu

thụ để xây dựng tập dữ liệu đầu vào cho mạng MLP

Kết quả khảo sát phân tích khóa bí mật đã chứng minh

được tính khả thi của mô hình mạng MLP đề xuất

Dựa vào hai tham số của mạng trong quá trình huấn

luyện và kiểm thử thì việc phân loại tìm ra được khóa

đúng là chính xác Bằng việc xây dựng tập dữ liệu sử

dụng 3 nhãn HW3, HW4 và HW5, nhóm tác giả chỉ

cần sử dụng khoảng 3000 power trace trên tổng số

5000 power trace Trong các nghiên cứu tiếp theo, chúng tôi sẽ khảo sát, đánh giá các khoá bí mật có độ dài lớn hơn, nhiều mẫu hơn cũng như việc cải thiện

mô hình thuật toán đảm bảo cho việc giảm thời gian tính toán và tăng độ chính xác

b) Khóa đúng a) Khóa sai

Hình 5 Confusion matrix cho các trường hợp khóa đúng và

khóa sai

[1] S Chari, J R Rao, and P Rohatgi, “Template attacks,” in Cryptographic Hardware and Embedded Systems - CHES

2002, B S Kaliski, c¸ K Koc¸, and C Paar, Eds Berlin, Heidelberg: Springer Berlin Heidelberg, 2003, pp 13–28

[2] P Kocher, J Jaffe, and B Jun, “Differential power analysis,”

proceedings of CRYPTO’99, Lecture Notes in Computer Science, vol 1666, Springer, Berlin, pp 388–397, 1999 [3] E Brier, C Clavier, and F Olivier, “Correlation power analysis with a leakage model,” in Cryptographic Hardware and Embedded Systems - CHES 2004, M Joye and J.-J Quisquater, 2004, pp 16–29

[4] Emmanuel Prouff and Remi Strullu and Ryad Benadjila and Eleonora Cagli and Cecile Dumas, “Study of Deep Learning Techniques for Side-Channel Analysis and Introduction to ASCAD Database." Cryptology ePrint Archive, Report 2018/053, 2018 https://eprint.iacr.org/2018/053

[5] B Timon, “Non-profiled deep learning-based side-channel attacks with sensitivity analysis,” IACR Transactions on Cryptographic Hardware and Embedded Systems, vol 2019,

no 2, pp 107–131, Feb 2019 [Online] Available: https://tches.iacr.org/index.php/TCHES/article/view/7387 [6] Đỗ Ngọc Tuấn, Trần Trung Kiên, Đỗ Thành Quân và Hoàng Văn Phúc, “Phương pháp phân tích kênh bên với mã mật AES

sử dụng dữ liệu đo công suất tiêu thụ” Tạp chí Khoa học và công nghê quân sự, số Đặc san Viện điện tử, 9-2020

[7] https://wiki.newae.com/CW1173_ChipWhisperer-Lite [8] https://github.com/kokke/tiny-AES-c

Ngày đăng: 27/11/2021, 10:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w