Bài viết 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.
Kỹ thuật điện tử 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 Qn3, Hồng Văn Phúc1* Tóm tắt: Tấn cơng phân tích cơng suất dạng cơng kênh bên dựa việc phân tích cơng suất tiêu thụ 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) kỹ thuật công hiệu Kỹ thuật khai thác mối quan hệ tuyến tính mơ hình cơng suất dự đốn cơng suất tiêu thụ thực tế thiết bị mã hóa, từ lấy khóa bí mật Tuy nhiên, việc phân tích cần thực số lượng lớn mẫu thu công suất tiêu thụ, dẫn đến thời gian cần cho việc thực phân tích rất lớn Vì vậy, báo đề xuất giải pháp giúp giảm thời gian phân tích, tăng hiệu việc đánh giá bảo mật phần cứng mã mật AES Kết khảo sát, phân tích phần cứng mã hóa AES giúp khẳng định tính khả thi cao phương pháp 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 GIỚI THIỆU Các vi mạch điện tử thực mã hóa sử dụng rộng rãi hệ thống nhúng Những thiết bị thực lưu trữ khóa bí mật, thực thuật tốn mã hóa giải mã Thuật tốn mã hóa thiết kế để thực chống lại cơng thuật tốn vào hệ thống mã hóa Nhưng thuật tốn lại thực hệ thống phần cứng, điều dẫn đến việc chúng bị phân tích dựa liệu rỏ rỉ công suất tiêu thụ, từ trường, âm phát trình thực mã hóa, giải mã Phân tích cơng suất tiêu thụ khai thác mối quan hệ thông tin ẩn chứa bên thiết bị công suất tiêu thụ thực tế thiết bị mã hóa Phân tích cơng suất đơn giản (SPA: Simple power analysis) [1] ví dụ phân tích cơng suất tiêu thụ, kỹ thuật dựa sở hiểu biết thuật tốn mã hóa khảo sát trực quan cơng suất tiêu thụ để đốn khóa bí mật Phân tích vi sai cơng suất tiêu thụ (DPA: Differential power analysis) [2] kỹ thuật mạnh so với SPA yêu cầu hiểu biết cách thức thực thuật tốn mã hóa Kỹ thuật sử dụng phương pháp phân tích thống kê để trích xuất 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) Brier đồng nghiệp đề xuất [3] Kỹ thuật CPA khai thác mối tương quan công suất tiêu thụ thực tế mơ hình tiêu thụ cơng suất suy từ thuật tốn mã hóa, từ đốn khóa bí mật Trong báo này, nhóm tác giả thực phân tích phần cứng thực thi mã hóa AES sử dụng kỹ thuật CPA sử dụng mơ hình cơng suất tiêu thụ dựa trọng số Hamming Bên cạnh đó, nhóm tác giả đề xuất giải pháp CPA cải tiến, thực phân tích mã hóa AES hiệu Nhóm tác giả thực phân tích lấy khóa thành cơng mã AES chạy chip XMEGA bo mạch Chipwhisperer CW1173 Kết thực thi phương pháp đề xuất phần cứng cho kết tối ưu thời gian nhiều so với kỹ thuật CPA thông thường 186 Đ 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ụ.” Nghiên cứu khoa học công nghệ Phần báo tổ chức sau Thuật tốn mã hóa AES, kỹ thuật phân tích tương quan cơng suất trình bày phần II Phần III giới thiệu đề xuất nâng cao hiệu CPA kết khảo sát, phân tích bo mạch CW1173 Phần IV kết luận tính khả thi ưu điểm phương pháp đề xuất với kỹ thuật CPA thông thường PHÂN TÍCH MÃ MẬT AES DỰA TRÊN KỸ THUẬT CPA 2.1 Thuật tốn mã hóa AES Mã hóa AES dạng mã khối xử lý liệu theo khối với khóa bí mật có độ dài 128 bit, 192 bit 256 bit [4] Mỗi khối liệu vào phân chia thành khối xếp theo mảng byte 4x4, chúng gọi State Thuật toán AES thuật toán thực theo dạng vịng lặp Số vịng mã hóa phụ thuộc vào độ dài khóa, ví dụ số vịng 10, 12 14 tương ứng với độ dài khóa 128, 192 256 Trong mã hóa, vịng mã hóa (trừ vịng cuối) thực cơng việc sau: cộng khóa vịng (AddRoundKey), byte (SubByte), dịch hàng (ShiftRow) trộn cột (MixColumn) Vịng cuối khơng thực biến đổi MixColumn Khóa sử dụng vịng khác nhau, nhiên, khóa có mối quan hệ với sinh từ khóa Q trình tạo 10 khóa thực module riêng biệt, chuyên cho việc khởi tạo phân chia khóa cho vịng Trong báo này, thuật tốn mã hóa AES với độ dài khóa bí mật 128 bit, thực 10 vịng mã hóa sử dụng tất 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, 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 hình thức phân tích có khả ứng dụng thực tế cao Vì trình thực hiện, người công cần mạch mục tiêu với lượng power trace đủ lớn Ở đây, power trace liệu biểu diễn theo thời gian tỉ lệ công suất tiêu thụ tương ứng với liệu xử lý chip q trình mã hóa Nguyên lý chung kỹ thuật CPA thực đo thu thập liệu công suất tiêu thụ thiết bị mã hóa thể 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 xác định tương quan liệu vừa đo với phép tính thực thiết bị mã hóa thời điểm Kỹ thuật u cầu cần phải có mơ hình cơng suất tiêu thụ dựa tốn tử phép tính mà thiết bị mã hóa thực Có nhiều cách để thực công việc này, 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 mơ hình mơ hình tiêu thụ cơng suất Mơ hình có khả ước lượng tốt lượng công suất tiêu thụ thiết bị mã hóa mà người cơng biết xác liệu vào phần thiết bị Mơ hình coi phần tử nhớ thiết bị trạng thái khơng tiêu tốn cơng suất, ngược lại với bit tiêu tốn lượng đáng kể cơng suất Chính thế, mơ hình cơng suất tiêu thụ cho có mối quan hệ tuyến tính với số lượng bit thời điểm tính tốn liệu Trong báo này, mơ hình cơng suất tiêu thụ xây dựng dựa phép biến đổi byte trọng số HW, xác định sau: Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, - 2020 187 Kỹ thuật điện tử h HW ( SubByte( PlainText Key )) (1) Để phân tích lấy khóa bí mật, người cơng dựa mối quan hệ power trace thu mơ hình cơng suất tiêu thụ Một phương pháp hiệu đề tính tương quan sử dụng hệ số tương quan Pearson Đây hệ số sử dụng rộng rãi cho việc tính tốn mối quan hệ tuyến tính liệu, lĩnh vực đánh giá bảo mật, cơng cụ vơ hiệu cho việc sử dụng kỹ thuật phân tích thống kê, từ đó, thực phân tích mã khóa bí mật Giả sử thực mã hóa D tin (Plaintext) với khóa (Key), ta thu D giá trị power trace (t) Hệ số Pearson biểu diễn mối quan hệ công suất tiêu thụ thực tế mơ hình cơng suất tiêu thụ sau: t , h cov(t , h) (2) t h Mỗi power trace t, có N điểm giá trị Lúc này, ta biểu diễn giá trị điểm thứ j trace thứ d sau t(d,j) (1 ≤ d ≤ D, ≤ j≤ N) Vì khóa chia theo byte nên khóa bí mật dự đốn có 256 giá trị Vì vậy, có trọng số Hamming key thứ i với công suất đo trace d h(d,i) (1≤d ≤D, ≤i ≤255) Với liệu trên, tìm mức độ phù hợp key dự đoán i với điểm liệu thứ j power trace Chúng ta tính tốn mức độ phù hợp thông qua hệ số tương quan Pearson t h dựa D power trace [5]: h D i , j d ,i d 1 h D d 1 d ,i hi td , j t j hi t D d 1 d, j tj (3) Biểu thức (3) dễ dàng thực ngôn ngữ lập trình, phần cịn lại báo, thực Matlab NÂNG CAO HIỆU QUẢ PHÂN TÍCH CHO KỸ THUẬT CPA 3.1 Thực phân tích CPA thông thƣờng liệu CW1173 Từ vấn đề phân tích trên, CPA thực qua bước sau: + Xác định mô hình tiêu thụ cơng suất thỏa mãn số đặc điểm: Thứ nhất, mơ hình liên quan trực tiếp liệu đầu vào đầ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 sử dụng vị trí thuật tốn thể tương quan công suất tiêu thụ ứng với giá trị liệu (vị trí rị rỉ liệu cơng suất) Từ đặc điểm trên, nhóm tác giả lựa chọn sử dụng vị trí thực biến đổi Subbyte (Sbox) kết hợp với trọng số Hamming vịng mã hóa đầu tiên, đặc điểm thỏa mãn điều kiện mơ tả hình Đầu sau thực tính trọng số Hamming (1) 188 Đ 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ụ.” Nghiên cứu khoa học công nghệ Hình Vịng mã hóa số 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 số lượng D tin mã hóa key Giá trị D phải đủ lớn để thực phân tích nhằm loại bỏ nhiễu thơng qua phân tích thống kê Q trình mô tả phần + AES thực thuật tốn theo Byte, vậy, CPA thực phân tích theo phần nhỏ khóa bí mật Với mã mật AES-128, độ dài từ khóa 128 bit chia thành 16 byte Chính vậy, việc phân tích thực byte Xét Byte khóa, áp dụng tính hệ số tương quan theo (3) tương ứng với tất điểm power trace Việc cuối xác định thành phần dự đốn khóa cho giá trị hệ số tương quan lớn nhất, thành phần khóa Lặp lại thao tác với tất Byte, ta thu khóa bí mật đầy đủ Q trình khảo sát phân tích sử dụng power trace thu thập từ bo mạch ChipWhisperer (CW) CW 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 kỹ thuật phân tích công suất, công lỗi xung đồng hồ số kỹ thuật phổ biến khác [6] Ngày nay, CW ứng dụng công cụ nghiên cứu bảo mật phổ biến, sử dụng nhiều báo khoa học Trong nghiên cứu này, nhóm tác giả sử dụng phiên CW1173, gồm phần chính: mạch đọc phân tích điều khiển sử dụng chip FPGA Spartan-6, phần lại mạch mục tiêu Mạch mục tiêu sử dụng vi điều khiển XMEGA Atmel, chạy chương trình mã hóa AES 128 bit mã nguồn mở (TINYAES128C [7]) Quá trình thực thu thập power trace từ CW1173 mơ tả hình Dữ liệu máy tính nhận tập hợp gồm nhiều file liệu có dạng file.npy liệt kê bảng Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, - 2020 189 Kỹ thuật điện tử Bảng Các file lưu kết CW1173 trả phục vụ cho phân tích Matlab TT Tên file Nội dung liệu *_keylist.npy Khóa bí mật (16 byte cố định) *_textin.npy N tin cho mã hóa (N×16 byte ngẫu nhiên) *_textout.npy N tin đầu mã hóa *_traces.npy Mảng liệu tỉ lệ giá trị điện áp đo q trình mã hóa N tin Thuật toán 1: Đầu vào sau đo: N trace (Ti)1