Xem mẫu

  1. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) 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 lượng nhỏ vết năng lượng (power trace), so sánh các mật phần cứng đang trở thành một xu hướng nghiên cứu khóa dự đoán với mẫu đã lập và xác định key với mẫu trên thế giới. Trong bài báo này, nhóm tác giả đề xuất nào giống nhất. Về lý thuyết, tấn công lập mẫu được mô hình mạng perceptron đa tầng thực hiện tấn công coi là tấn công hiệu quả khi chỉ cần một lượng nhỏ 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 power trace. Tuy nhiên, tấn công lập mẫu thường khó sử dụng kỹ thuật phân tích tương quan công suất tiêu áp dụng trên thực tế khi mà người tấn công chỉ có duy thụ trong xây dựng tập dữ liệu cho mạng perceptron đa nhất thiết bị mục tiêu và lượng power trace ghi được bị tầng. Kết quả thực nghiệm, phân tích trên phần cứng mã giới hạn. Ngược lại, với tấn công không lập mẫu, ví dụ hóa giúp khẳng định tính khả thi cao của các đề xuất như tấn công phân tích vi sai công suất tiêu thụ (DPA: trong việc ứng dụng trí tuệ nhân tạo cho đánh giá bảo Differential Power Analysis) [2], hoặc tấn công phân mật phần cứng. 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ị Từ khoá- Mạng perceptron đa tầng, phân tích tương mục tiêu để ghi lại power trace và dùng các kỹ thuật 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 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 I. GIỚI THIỆU Intelligence), các ứng dụng của nó đang ngày càng trở Trong thời đại kỹ thuật số ngày nay, các thiết bị mã nên thiết thực và quan trọng mà điển hình là kỹ thuật hoá sẽ thực hiện biến bản tin rõ thành bản tin được mã học máy (ML: Machine Learning) hay kỹ thuật học sâu hoá để bảo vệ dữ liệu. Tuy nhiên, trong quá trình thực (DL: Deep Learning). Trong đó, Perceptron đa tầng thi mã hoá hoặc giải mã thì các thiết bị này luôn có sự (MLP: Multilayer Perceptron) là một mô hình mạng rò rỉ thông tin nhất định và được gọi là thông tin kênh thuộc kỹ thuật học sâu, mô hình này được tạo ra dựa kề, ví dụ thời gian thực hiện, bức xạ điện từ trường, trên việc mô phỏng các kết nối đa tầng của các tế bào công suất tiêu thụ điện. Từ các nguyên lý kỹ thuật căn thần kinh (Nơ-ron) trong bộ não người. Từ các dữ liệu bản về cấu tạo của các vi mạch điện tử, chúng ta nhận đầu vào, trải qua quá trình huấn luyện của mạng MLP, định rằng công suất tiêu thụ của thiết bị mã hoá không máy tính hoàn toàn có thể phân tích và phân loại các dữ phải là một tham số ngẫu nhiên mà nó phụ thuộc rất liệu ở đầu ra một cách nhanh chóng và chính xác. nhiều vào quá trình thiết bị xử lý dữ liệu, đặc biệt là Chính vì vậy, ứng dụng trí tuệ nhân tạo trong lĩnh vực thực hiện tính toán trong thời gian đủ lớn. Do đó, thông bảo mật đang trở thành một xu hướng nghiên cứu trên tin về công suất tiêu thụ không mong muốn này được thế giới. chính kẻ tấn công lợi dụng nhằm phân tích và đánh cắp Trong các công bố [4], [5], mạng MLP được ứng các khoá bí mật. dụng để tìm ra khóa bí mật của mã hóa AES. Đặc biệt, Tấn công kênh bên thường được chia thành hai bài báo [5] đã chứng minh mạng MLP không chỉ áp hướng tiếp cận đó là tấn công lập mẫu (Profile attack) dụng trong tấn công lập mẫu mà còn có thể áp dụng rất và không lập mẫu (Non-profile attack). Đối với tấn tốt với tấn công không lập mẫu. Tuy nhiên, các công bố công lập mẫu, điển hình là Template attack [1], người ở trên chỉ áp dụng với dữ liệu có số mẫu đầu vào nhỏ. tấn công cần thực hiện hai bước quan trọng. Thứ nhất Trên thực tế với dữ liệu đầu vào là các power trace, số là lập mẫu, người tấn công phải có một thiết bị có chức lượng mẫu là rất lớn, thường là vài nghìn cho đến chục năng và cấu tạo giống hệt như thiết bị mục tiêu và có nghìn mẫu. Trong khi đó, số lượng mẫu đầu vào cho đầy đủ quyền thực thi trên thiết bị. Sau đó người tấn mạng MLP ảnh hưởng rất nhiều đến quá trình xử lý và công sẽ phải thực hiện mã hóa và ghi lại một lượng lớn tính toán của mạng. Vì vậy, trong bài báo này, chúng power trace của mỗi từ khóa dự đoán. Thứ hai là áp tôi sẽ giới thiệu mô hình mạng MLP nhằm thực hiện dụng mẫu đã có lên thiết bị mục tiêu. Người tấn công tấn công mã mật AES không lập mẫu, kết hợp giải thực hiện mã hóa trên thiết bị mục tiêu, ghi lại một pháp sử dụng kỹ thuật phân tích tương quan công suất ISBN: 978-604-80-5076-4 55
  2. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) tiêu thụ cho việc xây dựng tập dữ liệu. Kỹ thuật này được sử dụng để tính toán giá trị trung gian HW theo thực hiện tách ra các mẫu có giá trị tương quan cao công thức (1), giá trị h sau đó được dùng để gán nhãn nhất để đưa vào mô hình huấn luyện. Nhóm tác giả cho các tập power trace tương ứng với plaintext cho cũng nhận thấy giải pháp xây dựng tập dữ liệu này giúp giá trị h=3,4,5 . Sau đó công thức (2) sẽ được sử dụng mạng MLP trở nên đơn giản hơn cho phân loại kết quả để tính toán hệ số tương quan từ 256 giá trị khóa dự đầu ra. đoán (k=[0;255]) Phần tiếp theo bài báo được tổ chức như sau. Đề (h )(t ) N xuất giải pháp xây dựng tập dữ liệu cho mạng MLP − hk − ti n ,k n ,i đượ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 k ,i = n =1 (2) 2 N ( ) ( ) N 2 khóa bí mật được trình bày trong phần IV. Phần V là hn ,k − hk tn ,i − ti kết luận hiệu quả của giải pháp xây dựng tập dữ liệu và n=1 n=1 tính khả thi của kiến trúc mạng đề xuất. Trong đó hk và ti lần lượt là trung bình của mô II. XÂY DỰNG TẬP DỮ LIỆU CHO MẠNG MLP hình công suất dự đoán và công suất tiêu thụ thực tế Power trace là những vector biểu diễn các giá trị tỉ tại mẫu i. 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 Sau khi đã xác định được 50 điểm có hệ số tương nghìn mẫu. Như đã nhắc đến ở phần I, số lượng mẫu quan cao nhất, chúng tôi thực hiện phân loại toàn bộ này sẽ rất lớn khi áp dụng mạng MLP. Với kỹ thuật số power trace theo ba giá trị trung gian là HW= 3,4,5. phân tích tương quan công suất tiêu thụ (CPA) , toàn Thực hiện tương tự với các byte khóa con còn lại, kết bộ các mẫu trên một power trace sẽ được tính giá trị quả thu được là 16 thư mục tương đương với 16 byte tương quan với một mô hình công suất tiêu thụ dự khóa con. Trong mỗi thư mục là 256 thư mục con đoán. Tuy nhiên, chỉ có một số ít các mẫu trong một tương ứng được tạo ra từ 256 giá trị khóa dự đoán. power trace sẽ liên quan đến mô hình đã xây dựng. Trong mỗi thư mục con này, ba thư mục có tên HW3, Những mẫu này thường sẽ cho giá trị tương quan với HW4, HW5 được tạo ra, đây cũng chính là nhãn được mô hình công suất dự đoán cao hơn các điểm còn lại. sử dụng để phân loại trong mạng MLP. Cuối cùng, Nhận thấy, nếu tách các mẫu có giá trị tương quan cao ứng với mỗi thư mục nhãn, toàn bộ power trace sẽ làm đầu vào, số chiều dữ liệu sẽ giảm xuống rất nhiều. được phân loại tương ứng. Hình 1 mô tả cấu trúc của Đồng thời chúng ta hoàn toàn có thể xây dựng một mô tập dữ liệu dựa trên kỹ thuật đề xuất. hình học máy để phân loại các power trace theo các Dataset1 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 Key_0 quan công suất để có thể giảm số lượng mẫu đầu vào. HW3 Power trace 1 Cụ thể, 50 vị trí mẫu có giá trị tương quan lớn nhất sẽ Power trace N1 được lấy ra để tạo thành tập dữ liệu đầu vào cho MLP. 5000 Power traces HW4 Power trace 1 Để 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 Power trace N2 bài báo [5] sử dụng, tuy nhiên điểm đặc biệt trong đề HW5 Power trace 1 Key_255 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ố Dataset16 Power trace N3 lượng power trace cần để tính toán có thể giảm 30%. Hình 1. Cấu trúc tập dữ liệu đề xuất: 5000 power trace ban h = HW (SubByte ( PlainText Key ) (1) đầ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, Chúng tôi sử dụng N bản tin ngẫu nhiên cho việc HW4 và HW5). Mỗi nhóm chứa N1, N2, N3 power trace. mã hóa, sau đó N power trace sẽ được ghi lại. Mỗi Mỗi power trace chứa 50 mẫu có giá trị tương quan cao nhất. power trace sẽ chứa L mẫu. Kí hiệu tn,i là giá trị của III. ĐỀ XUẤT KIẾN TRÚC MẠNG MLP CHO mẫu thứ i trong power trace n, i và n thỏa mãn điều TẤN CÔNG KHÔNG LẬP MẪU kiện (1
  3. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) đầu ra (HW). Vì vậy, khi áp dụng mạng MLP, ứng với suất của các power trace ứng với các HW. Chi tiết khóa dự đoán là chính xác, mạng MLP có thể dễ dàng tham số của mô hình mạng được mô tả trong Bảng I. huấn luyện và phân loại đơn giản với 3 nhãn. Điều này Về tập dữ liệu huấn luyện, chúng tôi phân loại tập dẫn đến các tham số của mạng MLP trong quá trình dữ liệu ban đầu một cách ngẫu nhiên theo tỉ lệ 80% huấn luyện như độ chính xác (accuracy) sẽ tăng dần cho tập huấn luyện (Tranning set) và 20% cho tập hoặc giá trị của hàm mất mát (loss function) sẽ giảm kiểm thử (Test set). 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 Bảng I. CÁC THAM SỐ THIẾT LẬP MẠNG MLP. không thể huấn luyện được. Điều này dẫn đến các Tên lớp Số nút của một lớp Hàm kích hoạt tham số nêu trên sẽ giữ nguyên hoặc thay đổi không Input 50 - đáng kể qua mỗi epoch huấn luyện. Đây chính là yếu Hiden 1 150 eLU tố chính để ứng dụng mạng MLP nói riêng hay các kỹ Hiden 2 300 eLU thuật học sâu khác vào phân tích khóa AES không cần Hiden 3 600 eLU Hiden 4 300 eLU lập mẫu. Tuy nhiên, nhược điểm là mỗi mô hình chỉ có Hiden 5 100 eLU thể huấn luyện dự doán cho một giá trị khóa, vì vậy Hiden 6 25 eLU với 256 giá trị khóa dự đoán, chúng ta cần chạy 256 Output 3 Softmax 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 IV. KẾT QUẢ KHẢO SÁT MLP cho phân tích khóa AES không lập mẫu, nhóm Nhóm tác giả thực hiện khảo sát mô hình đề xuất tác giả đã xây dựng mô hình mạng MLP bao gồm có bằng power trace thu được từ board mạch CW1173 thành phần lớp nhận giá trị đầu vào, các lớp ẩn và cuối ChipWhisperer-Lite [7]. Đây là một dự án mã nguồn cùng là lớp đầu ra như thể hiện trong Hình 2. 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 Hình 2. Cấu trúc mạng MLP được sử dụng. 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. Lớp đầu vào của mạng MLP đề xuất sử dụng 50 Để xây dựng tập dữ liệu cho khảo sát mô hình nút tương ứng với dữ liệu đầu vào là 50 mẫu. Lớp ẩn mạng MLP đề xuất, nhóm tác giả thực hiện thu thập gồm có 6 lớp được thiết kế với số lượng nút được mô 5000 power trace, mỗi power trace chứa 5000 mẫu tả trong Bảng I. Cuối cùng là lớp đầu ra với 3 nút. Mô tương đương quá trình thực thi vòng mã hóa thứ nhất hình mạng được minh họa trong Hình 3. Mỗi đầu ra của thuật toán AES. Trong tấn công không lập mẫu, của một nút (trừ các nút của lớp đầu vào) được tính chúng tôi thực hiện giữ khóa bí mật cố định, bản tin dựa trên công thức: cần mã hóa sẽ được lấy ngẫu nhiên 5000 bản tin. a (l ) = f (W (l )T a ( l −1) + b( l ) ) (3) 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 Trong đó a là giá trị đầu ra, b là bias của lớp thứ l, tôi thực hiện huấn luyện và thực hiện phân loại sử W là ma trận trọng số. Hàm f(.) trên được gọi là một dụng 80% tập dữ liệu đã xây dựng, số còn lại dùng để hàm kích hoạt (activation function). Trong thiết kế đề thực hiện kiểm tra. xuất, để có được hiệu quả trong tính tóan, chúng tôi sử Toàn bộ chương trình xây dựng tập dữ liệu và mô dụng hàm eLU (Exponential Linear Unit) cho tất cả hình mạng MLP đề xuất được viết trên MATLAB. Chi các nút trong lớp ẩn, đây là một hàm có hiệu quả tốt tiết tham số kết quả chạy mô hình MLP đề xuất cùng hơn so với hàm thông dụng ReLU, đồng thời giúp tập dữ liệu được thể hiện trong Hình 3 và Hình 4. Dễ mạng tránh được hiện tượng vanishing gradients. Hàm dàng nhận thấy rằng, các tham số về độ chính xác và eLU được biểu diễn như sau: tham số hàm mất mát của khóa dự đoán đúng và khóa z if z 0 (4) dự đoán sai là phân biệt hoàn toàn. Quá trình huấn eLU ( z ) = [ exp( z ) − 1] otherwise 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ố độ Với mục đích là thực hiện phân loại các power chính xác và hàm mất mát bắt đầu có sự thay đổi rõ trace ứng với các giá trị HW, nhóm tác giả sử dụng lớp ràng, thể hiện mạng MLP đề xuất có thể huấn luyện Softmax Regression là lớp đầu ra cho việc tính xác được từ tập dữ liệu mà nhóm tác giả đã xây dựng. Đối ISBN: 978-604-80-5076-4 57
  4. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) với khóa dự đoán sai được minh họa trong Hình 3, các 5000 power trace. Trong các nghiên cứu tiếp theo, tham số huấn luyện gần như không thay đổi, thể hiện chúng tôi sẽ khảo sát, đánh giá các khoá bí mật có độ rằng mạng MLP không thể học được các dữ liệu từ tập dài lớn hơn, nhiều mẫu hơn cũng như việc cải thiện dữ liệu đã tạo. 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. Hình 3. Các tham số quan sát được của khóa giả thiết sai. a) Khóa sai b) Khóa đúng 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ó Hình 5. Confusion matrix cho các trường hợp khóa đúng và khóa sai. 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, TÀI LIỆU THAM KHẢO các điểm thực sự thuộc vào các nhãn có tỉ lệ phần trăm [1] S. Chari, J. R. Rao, and P. Rohatgi, “Template attacks,” in Cryptographic Hardware and Embedded Systems - CHES cao, thể hiện mô hình được huấn luyện và tiến hành 2002, B. S. Kaliski, c¸. K. Koc¸, and C. Paar, Eds. Berlin, phân loại tốt. Các giá trị này sẽ phân bố đều ra cả ba Heidelberg: Springer Berlin Heidelberg, 2003, pp. 13–28. nhãn HW tạo thành một đường chéo. Từ đây, thông [2] P. Kocher, J. Jaffe, and B. Jun, “Differential power analysis,” qua trực quan hoặc sử dụng lập bảng và tìm giá trị lớn proceedings of CRYPTO’99, Lecture Notes in Computer Science, vol. 1666, Springer, Berlin, pp. 388–397, 1999 nhất của tham số độ chính xác, chúng ta có thể tìm [3] E. Brier, C. Clavier, and F. Olivier, “Correlation power được toàn bộ khóa bí mật AES. analysis with a leakage model,” in Cryptographic Hardware and Embedded Systems - CHES 2004, M. Joye and J.-J. V. KẾT LUẬN Quisquater, 2004, pp. 16–29 [4] Emmanuel Prouff and Remi Strullu and Ryad Benadjila and Trong bài báo này, nhóm tác giả đã xây dựng thành Eleonora Cagli and Cecile Dumas, “Study of Deep Learning công mô hình mạng MLP cho tấn công không lập mẫu Techniques for Side-Channel Analysis and Introduction to mã mật AES thực thi trên CW1173. Nhóm tác giả đã ASCAD Database." Cryptology ePrint Archive, Report 2018/053, 2018. https://eprint.iacr.org/2018/053. sử dụng kỹ thuật phân tích tương quan công suất tiêu [5] B. Timon, “Non-profiled deep learning-based side-channel thụ để xây dựng tập dữ liệu đầu vào cho mạng MLP. attacks with sensitivity analysis,” IACR Transactions on Kết quả khảo sát phân tích khóa bí mật đã chứng minh Cryptographic Hardware and Embedded Systems, vol. 2019, no. 2, pp. 107–131, Feb. 2019. [Online]. Available: được tính khả thi của mô hình mạng MLP đề xuất. https://tches.iacr.org/index.php/TCHES/article/view/7387 Dựa vào hai tham số của mạng trong quá trình huấn [6] Đỗ Ngọc Tuấn, Trần Trung Kiên, Đỗ Thành Quân và Hoàng luyện và kiểm thử thì việc phân loại tìm ra được khóa Văn Phúc, “Phương pháp phân tích kênh bên với mã mật AES đúng là chính xác. Bằng việc xây dựng tập dữ liệu sử 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 dụng 3 nhãn HW3, HW4 và HW5, nhóm tác giả chỉ [7] https://wiki.newae.com/CW1173_ChipWhisperer-Lite cần sử dụng khoảng 3000 power trace trên tổng số [8] https://github.com/kokke/tiny-AES-c. ISBN: 978-604-80-5076-4 58
nguon tai.lieu . vn