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ụ

Kỹ thuật điện tử Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên đo công suất tiêu thụ.” 186 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Ụ Đỗ Ngọc Tuấn1, Trần Trung Kiên2, Đỗ Thành Quân3, Hoàng Văn Phúc1* Tóm tắt: Tấn công phân tích công suất là một dạng của tấn công kênh bên dựa trên việc phân tích công suất tiêu thụ của thiết bị mã hóa. Trong đó, phân tích tương quan công suất tiêu thụ (CPA: Correlation power analysis) là một kỹ thu

pdf10 trang | Chia sẻ: huongnhu95 | Lượt xem: 483 | Lượt tải: 0download
Tóm tắt tài liệu 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ụ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ật tấn công hiệu quả. Kỹ thuật này khai thác mối quan hệ tuyến tính giữa mô hình công suất dự đoán và công suất tiêu thụ thực tế của một thiết bị mã hóa, từ đó có thể lấy ra được khóa bí mật. Tuy nhiên, việc phân tích cần thực hiện trên số lượng rất lớn các mẫu thu công suất tiêu thụ, dẫn đến thời gian cần cho việc thực hiện phân tích là rất rất lớn. Vì vậy, bài báo này đề xuất một giải pháp giúp giảm thời gian phân tích, tăng hiệu quả việc đánh giá bảo mật phần cứng đối với mã mật AES. Kết quả khảo sát, phân tích trên phần cứng mã hóa AES giúp khẳng định tính khả thi cao của phương pháp này so với CPA truyền thống. Từ khóa: Phân tích kênh bên; Phân tích tương quan công suất tiêu thụ; Mã hóa AES; Khoảng cách Hamming; Trọng số Hamming. 1. GIỚI THIỆU Các vi mạch điện tử thực hiện mã hóa đang được sử dụng rộng rãi trong hệ thống nhúng. Những thiết bị này thực hiện lưu trữ các khóa bí mật, cũng như thực hiện các thuật toán mã hóa và giải mã. Thuật toán mã hóa được thiết kế để thực hiện chống lại các tấn công bằng thuật toán vào một hệ thống mã hóa. Nhưng thuật toán lại được thực hiện trên hệ thống phần cứng, điều này dẫn đến việc chúng có thể bị phân tích dựa trên dữ liệu rỏ rỉ như công suất tiêu thụ, từ trường, âm thanh phát ra trong quá trình thực hiện mã hóa, giải mã. Phân tích công suất tiêu thụ khai thác mối quan hệ giữa thông tin ẩn chứa bên trong thiết bị và công suất tiêu thụ thực tế của thiết bị mã hóa. Phân tích công suất đơn giản (SPA: Simple power analysis) [1] là một ví dụ cơ bản nhất của phân tích công suất tiêu thụ, kỹ thuật này dựa trên cơ sở hiểu biết về thuật toán mã hóa và khảo sát trực quan công suất tiêu thụ để đoán ra khóa bí mật. Phân tích vi sai công suất tiêu thụ (DPA: Differential power analysis) [2] là một kỹ thuật mạnh hơn so với SPA và cũng yêu cầu hiểu biết ít hơn về cách thức thực hiện của thuật toán mã hóa. Kỹ thuật này sử dụng phương pháp phân tích thống kê để có thể trích xuất ra thông tin liên quan đến khóa bí mật. Năm 2004, kỹ thuật phân tích tương quan công suất tiêu thụ (CPA: Correlation power analysis) được Brier và các đồng nghiệp đề xuất [3]. Kỹ thuật CPA khai thác mối tương quan giữa công suất tiêu thụ thực tế và một mô hình tiêu thụ công suất suy ra từ thuật toán mã hóa, từ đó có thể đoán ra được khóa bí mật. Trong bài báo này, nhóm tác giả thực hiện phân tích đối với phần cứng thực thi mã hóa AES sử dụng kỹ thuật CPA và sử dụng mô hình công suất tiêu thụ dựa trên trọng số Hamming. Bên cạnh đó, nhóm tác giả đề xuất một giải pháp CPA cải tiến, có thể thực hiện phân tích mã hóa AES hiệu quả. Nhóm tác giả đã thực hiện phân tích và lấy khóa thành công mã AES chạy trên chip XMEGA của bo mạch Chipwhisperer CW1173. Kết quả thực thi phương pháp đề xuất cũng trên phần cứng này cho kết quả tối ưu về thời gian hơn nhiều so với kỹ thuật CPA thông thường. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 187 Phần tiếp theo bài báo được tổ chức như sau. Thuật toán mã hóa AES, kỹ thuật phân tích tương quan công suất được trình bày trong phần II. Phần III sẽ giới thiệu một đề xuất nâng cao hiệu quả của CPA và kết quả khảo sát, phân tích trên bo mạch CW1173. Phần IV là kết luận tính khả thi và ưu điểm của phương pháp đề xuất với kỹ thuật CPA thông thường. 2. PHÂN TÍCH MÃ MẬT AES DỰA TRÊN KỸ THUẬT CPA 2.1. Thuật toán mã hóa AES Mã hóa AES là một dạng mã khối xử lý dữ liệu theo các khối với khóa bí mật có độ dài là 128 bit, 192 bit và 256 bit [4]. Mỗi khối dữ liệu vào được phân chia thành các khối sắp xếp theo mảng byte 4x4, chúng được gọi là State. Thuật toán AES là một thuật toán thực hiện theo dạng vòng lặp. Số vòng mã hóa sẽ phụ thuộc vào độ dài của khóa, ví dụ như số vòng là 10, 12 hoặc 14 tương ứng với độ dài khóa 128, 192 hoặc 256. Trong mã hóa, mỗi vòng mã hóa (trừ vòng cuối) sẽ thực hiện các công việc sau: cộng khóa vòng (AddRoundKey), thế byte (SubByte), dịch hàng (ShiftRow) và trộn cột (MixColumn). Vòng cuối sẽ không thực hiện biến đổi MixColumn. Khóa được sử dụng trong mỗi vòng là khác nhau, tuy nhiên, các khóa này có mối quan hệ với nhau vì đều được sinh ra từ khóa chính. Quá trình tạo ra 10 khóa con này được thực hiện bởi một module riêng biệt, chuyên cho việc khởi tạo và phân chia khóa cho các vòng. Trong bài báo này, thuật toán mã hóa AES với độ dài khóa bí mật 128 bit, thực hiện 10 vòng mã hóa được sử dụng trong tất cả các khảo sát. 2.2. Kỹ thuật phân tích tƣơng quan công suất CPA Đối với phân tích CPA, đây là một dạng phân tích không cần xây dựng mô hình mẫu để so sánh với mạch mục tiêu. CPA là một trong những hình thức phân tích có khả năng ứng dụng thực tế cao nhất. Vì trong quá trình thực hiện, người tấn công chỉ cần một mạch mục tiêu với lượng power trace đủ lớn. Ở đây, power trace là dữ liệu biểu diễn theo thời gian về tỉ lệ công suất tiêu thụ tương ứng với dữ liệu xử lý trên chip trong quá trình mã hóa. Nguyên lý chung của kỹ thuật CPA là thực hiện đo và thu thập các dữ liệu về công suất tiêu thụ của thiết bị mã hóa và được thể hiện dưới dạng biểu đồ biểu diễn công suất theo thời gian thực thi mã hóa (power trace), sau đó là xác định sự tương quan giữa dữ liệu vừa đo với các phép tính được thực hiện bởi thiết bị mã hóa tại cùng một thời điểm. Kỹ thuật này yêu cầu cần phải có một mô hình về công suất tiêu thụ dựa trên các toán tử hoặc phép tính mà thiết bị mã hóa thực hiện. Có rất nhiều cách để thực hiện công việc này, trong bài báo tác giả sử dụng biến đổi SubByte kết hợp với trọng số Hamming (HW: Hamming weight). HW là một trong những mô hình cơ bản nhất của mô hình tiêu thụ công suất. Mô hình này có khả năng ước lượng rất tốt lượng công suất tiêu thụ của thiết bị mã hóa khi mà người tấn công có thể biết chính xác về các dữ liệu đi vào và ra trong một phần thiết bị. Mô hình này coi các phần tử nhớ của thiết bị ở trạng thái 0 thì không tiêu tốn công suất, ngược lại với bit 1 thì sẽ tiêu tốn một lượng đáng kể công suất. Chính vì thế, trong mô hình này công suất tiêu thụ được cho là có mối quan hệ tuyến tính với số lượng bit 1 tại thời điểm tính toán dữ liệu. Trong bài báo này, mô hình công suất tiêu thụ được xây dựng dựa trên phép biến đổi thế byte và trọng số HW, được xác định như sau: Kỹ thuật điện tử Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên đo công suất tiêu thụ.” 188 ( ( ))h HW SubByte PlainText Key  (1) Để có thể phân tích và lấy được khóa bí mật, người tấn công sẽ dựa trên mối quan hệ giữa power trace thu được và mô hình công suất tiêu thụ. Một phương pháp hiệu quả đề tính được sự tương quan này đó chính là sử dụng hệ số tương quan Pearson. Đây là một trong những hệ số được sử dụng rộng rãi cho việc tính toán mối quan hệ tuyến tính giữa các dữ liệu, và trong lĩnh vực đánh giá bảo mật, đây chính là một công cụ vô cùng hiệu quả cho việc sử dụng kỹ thuật phân tích thống kê, từ đó, có thể thực hiện phân tích mã khóa bí mật. Giả sử thực hiện mã hóa D bản tin (Plaintext) với cùng một khóa (Key), ta thu được D giá trị power trace (t). Hệ số Pearson biểu diễn mối quan hệ giữa công suất tiêu thụ thực tế và mô hình công suất tiêu thụ như sau: , cov( , ) t h t h t h     (2) Mỗi power trace t, có N điểm giá trị. Lúc này, ta sẽ biểu diễn giá trị của điểm thứ j của trace thứ d như sau t(d,j) (1 ≤ d ≤ D, 0 ≤ j≤ N). Vì khóa được chia theo byte nên khóa bí mật dự đoán sẽ có 256 giá trị. Vì vậy, chúng ta sẽ có trọng số Hamming của key thứ i với công suất đo tại trace d là h(d,i) (1≤d ≤D, 0 ≤i ≤255). Với dữ liệu trên, chúng ta sẽ tìm được mức độ phù hợp của key dự đoán i với điểm dữ liệu thứ j của power trace. Chúng ta sẽ tính toán được mức độ phù hợp này thông qua hệ số tương quan Pearson giữa t và h dựa trên D power trace [5]:        , , 1 , 22 , , 1 1 D d i i d j j d i j D D d i i d j j d d h h t t h h t t              (3) Biểu thức (3) có thể dễ dàng thực hiện trên các ngôn ngữ lập trình, và phần còn lại của bài báo, nó được thực hiện trên Matlab. 3. NÂNG CAO HIỆU QUẢ PHÂN TÍCH CHO KỸ THUẬT CPA 3.1. Thực hiện phân tích CPA thông thƣờng trên dữ liệu của CW1173 Từ những vấn đề đã phân tích ở trên, CPA được thực hiện qua những bước như sau: + Xác định mô hình tiêu thụ công suất thỏa mãn một số đặc điểm: Thứ nhất, mô hình này liên quan trực tiếp dữ liệu đầu vào hoặc đầu ra, nhằm mục đích dễ dàng cho việc xây dựng mô hình; Thứ hai, mô hình này sử dụng vị trí trong thuật toán thể hiện sự tương quan giữa công suất tiêu thụ ứng với từng giá trị của dữ liệu (vị trí rò rỉ dữ liệu công suất). Từ những đặc điểm trên, nhóm tác giả lựa chọn sử dụng vị trí thực hiện biến đổi Subbyte (Sbox) kết hợp với trọng số Hamming tại vòng mã hóa đầu tiên, các đặc điểm thỏa mãn điều kiện được mô tả ở hình 1. Đầu ra sau đó được thực hiện tính trọng số Hamming bằng (1). Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 189 Hình 1. Vòng mã hóa số 1 thích hợp cho xây dựng mô hình tiêu thụ công suất. + Thu thập power trace (N mẫu/trace) từ thiết bị cần phân tích với một số lượng D bản tin cùng mã hóa trên một key. Giá trị D này phải đủ lớn để thực hiện phân tích cũng như nhằm loại bỏ nhiễu thông qua phân tích thống kê. Quá trình này được mô tả trong phần dưới đây. + AES thực hiện thuật toán theo từng Byte, vì vậy, CPA thực hiện phân tích theo từng phần nhỏ của khóa bí mật. Với mã mật AES-128, độ dài từ khóa là 128 bit và được chia thành 16 byte. Chính vì vậy, việc phân tích sẽ thực hiện trên từng byte này. Xét lần lượt từng Byte khóa, áp dụng tính hệ số tương quan theo (3) tương ứng với tất cả các điểm trong power trace. Việc cuối cùng là xác định thành phần dự đoán nào của khóa đã cho giá trị hệ số tương quan lớn nhất, đó chính là thành phần khóa đúng. Lặp lại thao tác với tất cả các Byte, ta sẽ thu được khóa bí mật đầy đủ. Quá trình khảo sát và phân tích sử dụng các power trace thu thập từ bo mạch ChipWhisperer (CW). CW là một dự án mã nguồn mở, cung cấp nhiều công cụ cho nghiên cứu, đánh giá bảo mật dựa trên kỹ thuật phân tích công suất, tấn công lỗi xung đồng hồ và một số kỹ thuật phổ biến khác [6]. Ngày nay, CW được ứng dụng như một công cụ nghiên cứu bảo mật phổ biến, được sử dụng trong nhiều bài báo khoa học. Trong nghiên cứu này, nhóm tác giả sử dụng phiên bản CW1173, gồm 2 phần chính: một mạch đọc phân tích và điều khiển sử dụng chip FPGA Spartan-6, phần còn lại là mạch mục tiêu. Mạch mục tiêu sử dụng vi điều khiển XMEGA của Atmel, chạy chương trình mã hóa AES 128 bit mã nguồn mở (TINYAES128C [7]). Quá trình thực hiện thu thập power trace từ CW1173 được mô tả như hình 2. Dữ liệu máy tính nhận về là một tập hợp gồm nhiều file dữ liệu có dạng file.npy được liệt kê trong bảng 1. Kỹ thuật điện tử Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên đo công suất tiêu thụ.” 190 Bảng 1. Các file lưu kết quả CW1173 trả về phục vụ cho phân tích trên Matlab. TT Tên file Nội dung dữ liệu 1 *_keylist.npy Khóa bí mật (16 byte cố định) 2 *_textin.npy N bản tin cho mã hóa (N×16 byte ngẫu nhiên) 3 *_textout.npy N bản tin đầu ra đã được mã hóa 4 *_traces.npy Mảng dữ liệu về tỉ lệ giá trị điện áp đo được trong quá trình mã hóa N bản tin Thuật toán 1: Đầu vào sau khi đo: N trace (Ti)1<i<N , mỗi trace có L mẫu (sample), và N bản tin tương ứng (di)1<i<N , các trường hợp có thể có của khóa bí mật là {0;255}. Chia bản tin và khóa bí mật thành 16 byte tương ứng. Input: di,B, ti,j (1≤j≤L),L, N for (1;16)B do for (0;255)KEY  do 1 , ( , ) 1 1 ( ( )) , j i N i B N N h i t i j i i h HW SubByte d Key mean h mean t          for (1; )j N do , * 1 1 * 2 2 .* i h i j t hdiff tdiff t sum sum hdiff tdiff sum sum hdiff hdiff sum sum tdiff tdiff h mean mean           end for , abs( . / ( 1.* 2));KEY L sum sqrt sum sum  end for ,arg max( )KEY KEY L  BSubbyte KEY end for Để thực hiện thuật toán 1, nhóm tác giả sử dụng 50 power trace, mỗi power trace 5000 mẫu thu thập từ CW1173. Kết quả đầu ra chương trình đã phân tích được chính xác 16 byte của khóa bí mật ở dạng thập phân như sau: 43-136-21-22-40-174-210-166-171-247-21-136-9-207-79-60 Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 191 Bản tin cần mã hóa Bản mã 128 bit Thế Byte Dịch hàng Trộn cột Thế Byte Dịch hàng Khóa gốc Khóa con (i) 9 v ò n g Khóa con (10) Bộ tạo khóa Khóa gốc Chƣơng trình nạp bản tin, điều khiển ghi lại power trace Giá trị điện áp sau chuyển đổi ADC, Bản tin đã mã hóa Biểu diễn giá trị tỉ lệ điện áp dƣới dạng biểu đồ Giá trị điện áp, bản tin đã mã hóa Bản tin cần mã hóa Chân nguồn qua điện trở Mạch chạy mã hóa AES Mạch đọc giá trị điện áp và điều khiển Hình 2. Quá trình thu thập power trace trên CW1173. 3.2. Kỹ thuật xác định điểm phân tích, nâng cao hiệu quả phân tích Từ thuật toán 1 và hình 3 nhận thấy, để phân tích được khóa bí mật, cần xác định được byte khóa (dự đoán) nào cho giá trị hệ số tương quan Pearson lớn nhất. Để xác định được giá trị này, theo kỹ thuật phân tích CPA thông thường, người phân tích cần thực hiện tính toán độ lệch chuẩn giữa tất cả sample(j) trong power trace (t) so với giá trị trung bình (meant) theo (3), điều này dẫn đến việc phải phân tích một số lượng lớn các điểm trong một power trace, đặc biệt với những power trace có mật độ lên đến hàng chục nghìn sample (mẫu), kết quả này lại được tính trung bình trên hàng nghìn power trace, dẫn đến lượng thời gian thực hiện phân tích rất lớn. Để rút ngắn thời gian phân tích mà vẫn đảm bảo được độ chính xác của kỹ thuật, nhóm tác giả đề xuất một phương pháp phân đoạn để giảm số lượng điểm cần tính toán trong một power trace xuống rất nhỏ so với ban đầu. Hình 3. Giá trị hệ số tương quan giữa của tất cả các điểm trên power trace với mô hình công suất tiêu thụ Hamming weight. Kỹ thuật điện tử Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên đo công suất tiêu thụ.” 192 Với N power trace thu được từ mạch ChipWhisperer, thực hiện chia thành hai nhóm trace N1 và N2 (N1≤N2). Từ N1 power trace, thực hiện phân tích CPA thông thường, kết quả thu được α điểm có hệ số t,h lớn nhất. Giá trị α này sẽ được chọn là rất nhỏ so với số lượng sample trong một power trace. Với α điểm này, ta sẽ suy ra được α vị trí trên power trace có khả năng nhiều nhất có giá trị tương quan lớn nhất (hình 3). Lấy N2 power trace, thực hiện kỹ thuật CPA thông thường, nhưng chỉ áp dụng tính cho α vị trí vừa nêu trên. Tuy nhiên, với cả thuật toán ban đầu và thuật toán đề xuất nêu trên, điều kiện để thực hiện thành công đó là có số lượng power trace đủ lớn và tất cả các power trace này đều phải đồng bộ về mặt thời gian (thời điểm kích hoạt đo và thời điểm kết thúc đo giá trị điện áp), cả hai điều kiện này đều thỏa mãn khi sử dụng CW1173. Thuật toán 2: Đầu vào sau khi đo: N traces (Ti)1<i<N, mỗi Trace có L sample, và N bản tin tương ứng (di)1<i<N, các trường hợp có thể có của khóa bí mật là {0; 255}. Chia bản tin và khóa bí mật thành 16 byte tương ứng. Input: di,B, ti,j (1≤i≤N, 1≤j≤L) , L, N1, N ( 1 1 2 N N ) for (1;16)B do // Giai đoạn 1: Thực hiện tính hệ số tương quan, tìm ra α điểm POI có giá trị lớn nhất for (0;255)KEY  do 1 1 1 , , 1 1 ( ( )) , j i N i B N N h i t i j i i h HW SubByte d KEY mean h mean t          for 1(1; )i N do , 1 1 1_1 1_1 1 * 1 1_ 2 1_ 2 1 * 1 1_ 3 1_ 3 1.* 1 i h i j t h u h mean m dif tdif t sum sum hdif tdif sum s m hdif hdif sum sum tdif tdi ea f n          end for , abs( 1_1 . / ( 1_ 2.* 1_3)); KEY L sum sqrt sum sum  end for for (1; )i  do ' , ' 1 argmax( ) L KEY L L       , ' , 'i L i L N N end for Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 193 // Giai đoạn 2: Sử dụng α điểm, tính giá trị hệ số tương quan trên toàn bộ power trace còn lại tìm giá trị lớn nhất. for (0;255)KEY  do ' , ' 1 1 , L N N h i t i L i i mean h mean t      for (1: )i N do ', ' 2 2 2 _1 2 _1 2 * 2 2 _ 2 2 _ 2 2 * 2 2 _ 3 2 _ 3 2.* 2 L i h ti L h m h mean m dif tdif t sum sum hdif tdif sum su den hdif hdif sum sum d e t a den t if di n f           end for , ' abs( 2_1 . / ( 2_ 2.* 2_3)); KEY L sum sqrt sum sum  end for , ' argmax( )KEY KEY L  BSubyte KEY end for 3.3. Khảo sát sử dụng thuật toán đề xuất Để đánh giá hiệu quả thuật toán đề xuất, nhóm tác giả thực hiện nhiều khảo sát khác nhau với hai tiêu chí chính, đó là độ chính xác của kết quả phân tích (số byte khóa bí mật được phân tích thành công) và thời gian thực hiện phân tích (thời gian tìm được toàn bộ khóa bí mật). Power trace được thu thập từ CW1173 với số lượng power trace là 10.000. Mỗi power trace chứa 5.000 mẫu đo giá trị công suất. Trên thực tế, để phân tích thành công khóa bí mật AES với kỹ thuật CPA thông thường, nhóm tác giả chỉ cần khoảng 50 power trace từ CW1173. Tuy nhiên, để đánh giá hiệu quả phân tích của thuật toán đề xuất, số lượng power trace phải nằm trong một dải rộng và đủ lớn. Chính vì vậy, nhóm tác giả thực hiện thêm thành phần nhiễu Gauss vào power trace đã thu được, với giá trị độ lệch chuẩn nằm trong dải từ 0,1 đến 0,2, bước nhảy là 0,02 tương ứng với số lượng power trace phải sử dụng từ 1.000 đến 10.000. Toàn bộ các giá trị sử dụng cho đánh giá hiệu quả thuật toán được cung cấp chi tiết trong bảng 2. Ngoài ra, giá trị α(POI)=50 được sử dụng cố định cho tất cả các khảo sát. Hình 4.a thể hiện độ chính xác thuật toán đã đề xuất. Trong khảo sát này, nhóm tác giả đã thực hiện phân tích theo ba giá trị của N1={1/3N,1/4N,1/5N}. Dễ dàng nhận thấy rằng, với giá trị của N1 được chọn càng cao thì số lượng byte đúng thu được càng cao. Số lượng byte đúng cũng phụ thuộc rất nhiều vào giá trị độ lệch chuẩn của nhiễu Gauss thêm vào power trace. Theo hình 4.a, với độ lệch chuẩn là 0,14, tỉ lệ phân tích số key đúng với N1=1/3N và N1=1/4N power trace là 100%. Vì vậy, để đánh giá hiệu quả về mặt thời gian của thuật toán đề xuất, nhóm tác giả lựa chọn N1=1/3 và N1=1/4, độ lệch chuẩn cao nhất là 0,14 cho việc khảo sát. Kỹ thuật điện tử Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên đo công suất tiêu thụ.” 194 Bảng 2. Bảng giá trị sử dụng đánh giá hiệu quả thời gian của thuật toán đề xuất. Thứ tự 1 2 3 4 5 6 7 8 9 10 N 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 N1=1/3N 333 667 1000 1333 1667 2000 2333 2667 3000 3300 N1=1/4N 250 500 750 1000 1250 1500 1750 2000 2250 2500 Độ lệch chuẩn 0,05 0,06 0,07 0,08 0,09 0,10 0,11 0,12 0,13 0,14 T ỉ lệ % B y te p h ân t íc h đ ú n g T h ờ i g ia n p h ân t íc h ( g iâ y ) Độ lệch chuẩn của nhiễu Gauss được thêm vào Số power trace sử dụng cho phân tích a) b) Hình 4. Kết quả thực hiện phân tích mã AES với thuật toán đề xuất: a) Số byte của khóa bí mật được tìm đúng. b) Thời gian thực hiện phân tích thành công khóa AES. Kết quả khảo sát được minh họa trong hình 4.b, so với kĩ thuật CPA thông thường (thuật toán 1), thuật toán đề xuất thực hiện phân tích thành công tất cả các byte của khóa bí mật với N1=1/3N đã giảm hơn một nửa, và quá trình này duy trì liên tục khi phân tích số lượng power trace thay đổi từ 1.000 đến 10.000. Hơn nữa, nếu sử dụng N1=1/4N, kết quả khảo sát cho thấy thời gian phân tích của thuật toán đề xuất tốt hơn so với N1=1/3N, điều này chứng tỏ N1 càng nhỏ thì càng lợi về mặt thời gian phân tích. Tuy nhiên, trong hình 4.a cho thấy, N1 càng nhỏ thì tỉ lệ chính xác của quá trình phân tích cũng giảm theo. Vì vậy, trong nghiên cứu này, việc chọn lựa hệ số N1 là rất quan trọng và nó phụ thuộc vào giá trị của nhiễu tác động vào power trace thu được. 4. KẾT LUẬN Bài báo đã trình bày những nội dung cơ bản về kỹ thuật phân tích tương quan công suất tiêu thụ, cũng như đề xuất giải pháp nâng cao hiệu quả phân tích về mặt thời gian, độ chính xác giữ nguyên. Kết quả thực thi và đánh giá được thực hiện trên bo mạch ChipWhisperer CW1173 đã minh chứng tính hiệu quả về thời gian phân tích cho giải pháp CPA đề xuất. Trong nghiên cứu tiếp theo, chúng tôi sẽ thực hiện đánh giá thêm về tham số điểm POI với hiệu quả thời gian phân tích, cũng như độ chính xác của thuật toán. Từ đó, áp dụng kỹ thuật này để đánh giá phân tích cho các các bo mạch khác sử dụng các kiến trúc vi xử lý khác nhau. Lời cảm ơn: Nghiên cứu này được Bộ Khoa học và Công nghệ tài trợ trong nhiệm vụ KH&CN cấp quốc gia mã số HNQT/TKCG/04.20. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 195 TÀI LIỆU THAM KHẢO [1]. P. Kocher, J. Jaffe, and B. Jun, “Introduction to differential power analysis and related attacks,” Cryptography Research, pp. 1–5, 1998. [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,” Cryptographic Hardware Embedded System-CHES 2004, Lecture Notes in Computer Science, vol. 3156, Springer, Berlin, pp. 16–29, 2004. [4]. National Institute of Standards and Technology (NIST), “Advanced encryption standard (AES),” FIPS Publication 197, [5]. https://chipwhisperer.readthedocs.io/en/latest/tutorials.html#power-analysis [6]. https://wiki.newae.com/CW1173_ChipWhisperer-Lite [7]. https://github.com/kokke/tiny-AES-c. ABSTRACT SIDE CHANNEL ANALYSIS METHOD ON AES CRYPTOGRAPHY USING POWER CONSUMPTION DATA Power analysis attack is a type of side channel attack based on power consumption analysis of a cryptographic device. Among power analysis attack techniques, correlation power analysis (CPA) is an efficient attack method. This technique exploits the linear relationship between the power model and the real power consumption of an encryption device. However, the analysis implementation needs a larger number of power traces in order to extract the secret key so that the computation time becomes a serious problem. Therefore, this paper proposes a solutions to reduce analysis time, improve the efficiency of hardware security evaluation of AES cryptography. The experimental and analysis results with AES hardware implementation have clarified the efficiency of the proposed method compared with conventional method. Keywords: Side channel analysis; Correlation power analysis; AES cryptography; Hamming distance; Hamming weight. Nhận bài ngày 24 tháng 02 năm 2020 Hoàn thiện ngày 12 tháng 8 năm 2020 Chấp nhận đăng ngày 28 tháng 8 năm 2020 Địa chỉ: 1Viện Tích hợp hệ thống, Học viện Kỹ thuật Quân sự; 2Hệ V, Học viện Kỹ thuật Quân sự; 3Khoa Chỉ huy tham mưu kỹ thuật, Học viện Kỹ thuật Quân sự; *Email: phuchv@mta.edu.vn.

Các file đính kèm theo tài liệu này:

  • pdfphuong_phap_phan_tich_kenh_ben_voi_ma_mat_aes_su_dung_du_lie.pdf