Thực Thi Mặt Nạ Nhân Chống Tấn Công DPA Lên Thuật Toán AES256 Trên SMART CARD

57 0 0
Thực Thi Mặt Nạ Nhân Chống Tấn Công DPA Lên Thuật Toán AES256 Trên SMART CARD

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thực Thi Mặt Nạ Nhân Chống Tấn Công DPA Lên Thuật Toán AES256 Trên SMART CARD Nghiên cứu tổng quan về thiết bị Smart Card, nguy cơ chịu tấn công của Smart Card và thuật toán mã hoá AES128. Nghiên cứu tấn công phân tích năng lượng lên thiết bị mật mã. Trình bày về tấn công phân tích năng lượng vi sai (DPA) và đưa ra một số giải pháp chống tấn công. Nghiên cứu, thực thi giải pháp mặt nạ nhân chống tấn công phân tích năng lượng vi sai (DPA) lên thuật toán AES128 trên Smart Card. Chương 1: Tổng quan về Smart Card và thuật toán AES. Chương này giới thiệu chung về Smart Card và thuật toán AES. Chương 2: Bảo đảm an toàn cho Smart Card cài đặt thuật toán AES. Chuơng này tìm hiểu về vấn đề an toàn của Smart Card, tìm hiểu các tấn công lên Smart Card có cài đặt AES, trong đó có tấn công DPA. Từ đó đưa ra giải pháp chống tấn công DPA lên Smart Card cài đặt AES128. Chương 3: Tìm hiểu, thực thi mặt nạ nhân chống tấn công DPA lên thuật toán AES128 trên Smart Card. Chương này tìm hiểu về nền tảng lý thuyết của mặt nạ nhân, cài đặt thực thi và đánh giá sự an toàn, hiệu năng của mặt nạ nhân thích nghi. Chương 1 TỔNG QUAN VỀ SMART CARD VÀ THUẬT TOÁN AES Trong chương này, đồ án sẽ giới thiệu tổng quan về thiết bị mật mã nói chung, cụ thể là Smart Card. Đồng thời tìm hiểu về lược đồ mã hoá và giải mã của thuật toán AES128. 1.1. Thiết bị mật mã 1.2. Smart Card 1.2.1. Khái niệm Smart Card là một thẻ nhựa có kích thước bỏ túi, bên trong có chứa một mạch tích hợp có khả năng lưu trữ và xử lý thông tin. Nó có thể đóng vai trò như một thiết bị giúp thực hiện các tác vụ an toàn thông tin. Smart Card được đánh giá qua các tiêu chí sau: + Có thể tham gia vào một giao dịch điện tử tự động. + Không dễ giả mạo hay làm nhái. + Có thể lưu dữ liệu một cách an toàn. + Có thể chạy và tạo một loại thuật toán hay phương thức mã hóa nào đó. 3 Smart Card không chứa thiết bị cung cấp nguồn, thiết bị hiển thị hay bàn phím. Để tương tác với thế giới bên ngoài, nó được đặt trong hay gần thiết bị chấp nhận thẻ, được nối với máy tính. 1.2.2. Phân loại Dựa theo phương thức truy nhập thẻ thì Smart Card được chia thành 3 loại: thẻ tiếp xúc, thẻ không tiếp xúc và thẻ lưỡng tính. Thẻ tiếp xúc là loại thẻ có một vùng tiếp xúc, thường dễ nhận diện bởi linh kiện chip (màu vàng hoặc bạc) trên thân thẻ. Chip này cho phép đọc, ghi thông tin khi bề mặt chip tiếp xúc trực tiếp với đầu đọc thẻ. Khi đưa thẻ vào đầu đọc, chip sẽ giao tiếp với các tiếp điểm điện tử để đọc ghi các thông tin lên chip. Thẻ không tiếp xúc là loại thẻ mà chip trên nó liên lạc với đầu đọc thẻ thông qua công nghệ nhận dạng sóng vô tuyến RFDI (Radio Frequency Indentification) với tốc độ trao đổi dữ liệu từ 106÷848 Kbits, thân thẻ chứa chip và dây dẫn bên trong làm ăngten. Ăngten có nhiệm vụ làm khối trung gian thực hiện thuphát sóng vô tuyến giữa đầu đọc thẻ với chip trên thẻ. Trong thẻ có một cuộn cảm có khả năng dò tín hiệu vô tuyến trong một dải tần nhất định, chỉnh lưu tín hiệu và dùng nó để cung cấp năng lượng hoạt động cho chip trên thẻ. Tốc độ xử lý của thẻ không tiếp xúc nhanh hơn so với thẻ tiếp xúc, vì vậy thẻ không tiếp xúc thường được ứng dụng tại những nơi cần thao tác nhanh. Thẻ lưỡng tính là thẻ kết hợp các đặc điểm của thẻ tiếp xúc và thẻ không tiếp xúc. Dữ liệu được truyền bằng phương pháp tiếp xúc trực tiếp với đầu đọc hoặc qua tín hiệu vô tuyến.

ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ TÌM HIỂU, THỰC THI MẶT NẠ NHÂN CHỐNG TẤN CƠNG DPA LÊN THUẬT TOÁN AES-256 TRÊN SMART CARD Nguyen Thanh Khanh Hà Nội - 2023 MỤC LỤC MỤC LỤC i LỜI CẢM ƠN Lỗi! Thẻ đánh dấu không được xác định LỜI CAM ĐOAN Lỗi! Thẻ đánh dấu không được xác định CÁC KÝ HIỆU, CHỮ VIẾT TẮT v DANH MỤC BẢNG BIỂU vi DANH MỤC HÌNH VẼ vii MỞ ĐẦU Chương TỔNG QUAN VỀ SMART CARD VÀ THUẬT TOÁN AES 1.2 Smart Card 1.2.1 Khái niệm 1.2.2 Phân loại 1.2.3 Cấu tạo 1.3 Thuật toán AES 1.3.1 Lược đồ mã hoá 1.3.2 Lược đồ giải mã 14 Chương BẢO ĐẢM AN TOÀN CHO SMART CARD CÀI ĐẶT THUẬT TOÁN AES 2.1 Vấn đề an ninh, an toàn Smart Card 17 2.2 Tấn công lên thuật toán AES-128 Smart Card 18 2.2.1 Tổng quan tấn công lên Smart Card 18 2.2.2 Tấn cơng phân tích điện tiêu thụ đơn giản (Simple Power Analysis – SPA) 20 2.2.3 Tấn cơng phân tích điện tiêu thụ vi sai (Differential Power Analysis – DPA) 24 ii 2.3 Giải pháp an toàn cho Smart Card cài đặt thuật toán AES-128 31 2.3.1 Giải pháp ẩn 32 2.3.2 Giải pháp mặt nạ 34 2.3.3 Mặt nạ đầy đủ chống tấn công DPA lên thuật toán AES-128 Smart Card 35 Chương TÌM HIỂU, THỰC THI MẶT NẠ NHÂN CHỐNG TẤN CƠNG DPA LÊN THUẬT TỐN AES-128 TRÊN SMART CARD 3.1 Phương pháp biến đổi mặt nạ nhân trường GF(28) 40 3.1.1 Nền tảng lý thuyết 40 3.1.2 Mặt nạ nhân thích nghi 42 3.1.3 Mặt nạ nhân đơn giản 43 3.2 Cài đặt, thực thi mặt nạ nhân 44 3.3 Sự an toàn hiệu mặt nạ nhân 45 3.3.1 Sự an toàn lý thuyết 45 3.3.2 Sự an toàn thực nghiệm 47 3.3.3 Hiệu mặt nạ nhân 47 KẾT LUẬN 49 TÀI LIỆU THAM KHẢO 50 PHỤ LỤC Lỗi! Thẻ đánh dấu không được xác định PHỤ LỤC Lỗi! Thẻ đánh dấu không được xác định PHỤ LỤC Lỗi! Thẻ đánh dấu không được xác định iii iv CÁC KÝ HIỆU, CHỮ VIẾT TẮT Viết tắt AES Tiếng Anh Advanced Encryption Standard Tiếng Việt Chuẩn mã hoá tiên tiến Tấn cơng phân tích lượng đơn giản SPA Simple Power Analysis DPA Differential Power Analysis DUA Device Under Attack Thiết bị mật mã chịu tấn công PC Personal Computer Máy tính cá nhân RAM Random Access Memory Bộ nhớ truy xuất ngẫu nhiên ROM Read Only Memory Bộ nhớ đọc Electrically Erasable EEPROM Programmable Read Only Memory Tấn công phân tích lượng vi sai Bộ nhớ khơng mất liệu ngừng cung cấp nguồn điện CPU Central Processing Unit Khối điều khiển trung tâm DES Data Encryption Standard Chuẩn mã hoá liệu v DANH MỤC BẢNG BIỂU Bảng 1.1: Các định dạng thẻ điển hình Bảng 1.2: Bảng S-Hộp, thay các giá trị theo byte {xy} (dạng hexa) Bảng 1.3: Bảng thay S-Hộp-1 15 Bảng 3.1: Hiệu mặt nạ nhân thích nghi 48 vi DANH MỤC HÌNH VẼ Hình 1.1: Kích thước các định dạng thẻ thường được sử dụng Hình 1.2: Smart Card có điểm tiếp xúc Hình 1.3: Lược đồ mã hoá AES Hình 1.4: Phép SubBytes áp dụng S-Hộp vào byte trạng thái Hình 1.5 : Hàm ShiftRows dịch vòng ba hàng cuối mảng trạng thái 10 Hình 1.6: Mơ tả thao tác MixColums 11 Hình 1.7: Phép AddRoundKey thực XOR cột trạng thái 12 với từ lược đồ khóa 12 Hình 1.8: Lược đồ giải mã AES 14 Hình 2.1: Điện tiêu thụ vi điều khiển thực thuật toán AES128 22 Hình 2.2: Vết điện tiêu thụ 23 Hình 2.3: Trace điện tiêu thụ từ Smart Card thi AES-128 24 Hình 2.4: Trace điện tiêu thụ vịng thứ nhất từ Smart Card thực thi AES-128 25 Hình 2.5: Tính giá trị trung gian AES 25 Hình 2.6: Mơ hình đo thực nghiệm 28 Hình 2.7: Sơ đồ thực nghiệm tấn cơng DPA lên AES-128 29 Hình 2.8: Kết tấn công DPA cho byte số 30 Hình 2.9: Kết tấn công DPA cho 16 bytes 31 Hình 2.10: Sơ đồ mặt nạ đầy đủ cho thuật toán AES-128 38 Hình 3.1 Biến đổi SuBytes 41 Hình 3.2 Biến đổi SubByte cải tiến 41 Hình 3.3: Sơ đồ thực thi mặt nạ nhân thích nghi 42 Hình 3.4: Sơ đồ thực thi mặt nạ nhân đơn giản 44 vii Hình 3.5: Trace tương quan khoá chưa có mặt nạ 45 Hình 3.6: Trace tương quan khoá sau mặt nạ 45 viii MỞ ĐẦU Chương 1: Tổng quan Smart Card thuật toán AES Chương giới thiệu chung Smart Card thuật toán AES Chương 2: Bảo đảm an toàn cho Smart Card cài đặt thuật tốn AES Chuơng tìm hiểu vấn đề an tồn Smart Card, tìm hiểu các tấn cơng lên Smart Card có cài đặt AES, có tấn cơng DPA Từ đưa giải pháp chống tấn công DPA lên Smart Card cài đặt AES-128 Chương 3: Tìm hiểu, thực thi mặt nạ nhân chống cơng DPA lên thuật toán AES-128 Smart Card Chương tìm hiểu tảng lý thuyết mặt nạ nhân, cài đặt thực thi đánh giá an tồn, hiệu mặt nạ nhân thích nghi Chương TỔNG QUAN VỀ SMART CARD VÀ THUẬT TOÁN AES Trong chương này, đồ án giới thiệu tổng quan thiết bị mật mã nói chung, cụ thể Smart Card Đồng thời tìm hiểu lược đồ mã hoá giải mã thuật toán AES-128 1.1 Thiết bị mật mã 1.2 Smart Card 1.2.1 Khái niệm Smart Card thẻ nhựa có kích thước bỏ túi, bên có chứa mạch tích hợp có khả lưu trữ xử lý thơng tin Nó đóng vai trị thiết bị giúp thực các tác vụ an tồn thơng tin Smart Card được đánh giá qua các tiêu chí sau: + Có thể tham gia vào giao dịch điện tử tự động + Không dễ giả mạo hay làm nhái + Có thể lưu liệu cách an tồn + Có thể chạy tạo loại thuật toán hay phương thức mã hóa Smart Card khơng chứa thiết bị cung cấp nguồn, thiết bị hiển thị hay bàn phím Để tương tác với giới bên ngồi, được đặt hay gần thiết bị chấp nhận thẻ, được nối với máy tính 1.2.2 Phân loại Dựa theo phương thức truy nhập thẻ Smart Card được chia thành loại: thẻ tiếp xúc, thẻ không tiếp xúc thẻ lưỡng tính - Thẻ tiếp xúc loại thẻ có vùng tiếp xúc, thường dễ nhận diện linh kiện chip (màu vàng bạc) thân thẻ Chip cho phép đọc, ghi thông tin bề mặt chip tiếp xúc trực tiếp với đầu đọc thẻ Khi đưa thẻ vào đầu đọc, chip giao tiếp với các tiếp điểm điện tử để đọc/ ghi các thông tin lên chip - Thẻ không tiếp xúc loại thẻ mà chip liên lạc với đầu đọc thẻ thông qua công nghệ nhận dạng sóng vơ tuyến RFDI (Radio Frequency Indentification) với tốc độ trao đổi liệu từ 106÷848 Kbit/s, thân thẻ chứa chip dây dẫn bên làm ăngten Ăngten có nhiệm vụ làm khối trung gian thực thu/phát sóng vơ tuyến đầu đọc thẻ với chip thẻ Trong thẻ có cuộn cảm có khả dị tín hiệu vơ tuyến dải tần nhất định, chỉnh lưu tín hiệu dùng để cung cấp lượng hoạt động cho chip thẻ Tốc độ xử lý thẻ không tiếp xúc nhanh so với thẻ tiếp xúc, thẻ khơng tiếp xúc thường được ứng dụng nơi cần thao tác nhanh - Thẻ lưỡng tính thẻ kết hợp các đặc điểm thẻ tiếp xúc thẻ không tiếp xúc Dữ liệu được truyền phương pháp tiếp xúc trực tiếp với đầu đọc qua tín hiệu vô tuyến 1.2.3 Cấu tạo 1.2.3.1 Định dạng thẻ Các định dạng Smart Card điển hình được tóm tắt bảng sau: Bảng 1.1: Các định dạng thẻ điển hình Định dạng thẻ ID-1 Chiều dài Chiều rộng (mm) (mm) 85,6 54 Khi thuật toán AES bắt đầu hoạt động mật mã, sử dụng mặt nạ để che rõ đồng thời sử dụng các mặt nạ khác để che khoá vịng Quá trình thực mặt nạ cho các biến đổi các vòng sau: AddRoundKey: Do tất k byte khoá vòng được làm mặt nạ với mặt nạ m, việc thực thi AddRoundKey tự động làm mặt nạ cho các byte d state: 𝑑 ⨁ (𝑘 ⨁ 𝑚) = (𝑑 ⨁ 𝑘) ⨁ 𝑚 Tác dụng mặt nạ để chống tấn công SPA lược đồ khoá SubBytes: Đây phép toán phi tuyến nhất của AES-128 Biến đổi SubBytes thường được sử dụng bảng tra cứu S-Hộp Do đó, ta thực mặt nạ cho bảng tra cứu ShiftRows: Với thao tác ShiftRows thực hoán vị các byte ma trận state Trong sơ đồ thực mặt nạ đầy đủ AES-128, tất các byte state được mặt nạ với mặt nạ điểm thuật toán Do đó, thao tác khơng làm ảnh hưởng tới quá trình mặt nạ MixColumns: Với thao tác này, thực trộn các byte các hàng khác cột Dó đó, MixColumns cần nhất mặt nạ Nếu sử dụng hai mặt nạ cho các byte cột MixColumns cần phải thực rất cẩn thận để đảm bảo tất các giá trị trung gian được làm mặt nạ Để thực mặt nạ, triển khai cài đặt hiệu quả, ta phải đảm bảo cho hàng được làm mặt nạ với mặt nạ riêng biệt Trong trường hợp có ưu việt mặt nạ được sử dụng tất các vịng Vì các mặt nạ đầu MixColumns giống tất các vòng Sử dụng mặt nạ khác sơ đồ mặt nạ cho AES-128 - Hai mặt nạ đầu tiên: m m’ các mặt nạ đầu vào phép toán SubByte dựa S-box được làm mặt nạ - Bốn mặt nạ lại: m1, m2, m3 m4 được sử dụng mặt nạ đầu vào phép toán MixColumns Tại thời điểm tiến hành mã hoá AES-128, ta phải tính toán trước giá trị bảng mặt nạ Sm [8] S-box được mặt nạ Sm S-box được tính từ S-box AES-128 thoả mãn biểu thức: 𝑆𝑚 (𝑥⨁𝑚) = 𝑆(𝑥)⨁𝑚′ 36 Thuật toán tính Sm được trình bày thuật toán 1: Thuật tốn1: Tính hộp 𝑺𝒎 Đầu vào: 𝑚, 𝑚’ Đầu ra: Hộp 𝑆𝑚 (8 × 8) 1: for i=0:255 2: 𝑆𝑚 (𝑖⨁𝑚) = 𝑆(𝑖)⨁𝑚′ 3: end for 4: return 𝑆𝑚 Tính các mặt nạ sử dụng đầu phép toán MixColumns, giá trị (𝑚1′, 𝑚2′ , 𝑚3′, 𝑚4′ ) được tính từ phép toán MixColmns cho (𝑚1, 𝑚2 , 𝑚3, 𝑚4) 2.3.3.2 Hoạt động vòng Masking-AES Tại thời điểm bắt đầu vòng, rõ được làm mặt nạ với các giá trị 𝑚1′ , 𝑚2′, 𝑚3′ , 𝑚4′ Sau phép tồn AddRoundKey được thực thi Các khoá vịng được làm mặt nạ cho giá trị trung gian sau AddRoundKey được làm mặt nạ giá trị 𝑚 Tiếp theo việc tra bảng 𝑆𝑚 được thực Thông qua việc tra bảng này, mặt nạ được thay đổi thành 𝑚′ Thao tác ShiftRows không làm thay đổi các mặt nạ tất các byte thời điểm state được làm mặt nạ 𝑚′ Trước thực MixColumns, cần thay đổi mặt nạ hàng thứ nhất state từ 𝑚′ thành 𝑚1 , hàng thứ từ 𝑚′ thành 𝑚2, hàng thứ từ 𝑚′ thành 𝑚3 , hàng thứ từ 𝑚′ thành 𝑚4 Chú ý các mặt nạ được sử dụng đầu vịng Do đó, cách ta mặt nạ vòng tuỳ ý Tại vòng cuối thuật toán, phép toán MixColumns không được thực hiện, các mặt nạ được gỡ bỏ thông qua phép toán AddRoundKey 37 2.3.3.3 Mặt nạ cho các khoá vòng Sơ đồ thực mặt nạ AES-128 đầy đủ sau [1]: Plaintext AddRoundKey K0 SubBytes, ShiftRows MixColumns AddRoundKey K1…K9 SubBytes, ShiftRows AddRoundKey K10 Ciphertex Hình 2.10: Sơ đồ mặt nạ đầy đủ cho thuật tốn AES-128 Trong đó: : Mặt nạ với m : Mặt nạ với m’ : Mặt nạ với 𝑚1 , 𝑚2 , 𝑚3 , 𝑚4 : Mặt nạ với 𝑚1′ , 𝑚2′ , 𝑚3′ , 𝑚4′ 38 Lược đồ khoá không được làm mặt nạ Quá trình tạo khoá vịng được thực bình thường Các khoá vòng được tạo từ khoá gốc được mặt nạ sau: Các khoá vòng từ đến 10 được làm mặt nạ với ma trận 𝑚1′ 𝑚2′ ′ 𝑀 = 𝑚3′ [𝑚4′ 𝑚1′ 𝑚2′ 𝑚3′ 𝑚4′ 𝑚1′ 𝑚2′ 𝑚3′ 𝑚4′ 𝑚1′ 𝑚2′ , 𝑚 𝑚3′ 𝑚4′ ] Khoá vòng cuối cùng, khoá thứ 10 được làm mặt nạ với 𝑚′ Như vậy, mặt nạ đầy đủ cần phải tính toán bảng cho S-box Một bảng cần tính toán cho giá trị mặt nạ mi Nếu sử dụng mặt nạ đầy đủ độ phức tạp quy trình i*256 Và bảng được sử dụng xuyên suốt thuật toán AES Đặc biệt triển khai phần cứng chuyên dụng, các bảng được thực thi ROM rất tốn dung lượng Đây lựa chọn phù hợp thiết bị tài nguyên hạn hẹp Smart Card [8] Kết luận chương 2: Chương đồ án trình bày nguy chịu cơng Smart Card, cơng phân tích lượng vi sai (DPA) công nguy hiểm Đồng thời chương số giải pháp bảo đảm an toàn cho Smart Card cài đặt thuật tốn AES chống lại cơng DPA Muốn chống công DPA cần phải thực mặt nạ.Mặt nạ đầy đủ chống công DPA chưa phải giải pháp tối ưu thiết bị Smart Card Những kiến thức trình bày chương sở, tảng để tìm hiểu thực thi giải pháp mặt nạ nhân chống công DPA Chuơng 39 Chương TÌM HIỂU, THỰC THI MẶT NẠ NHÂN CHỐNG TẤN CÔNG DPA LÊN THUẬT TỐN AES-128 TRÊN SMART CARD Như trình bày chương trước, sử dụng mặt nạ phương pháp hữu hiệu thời điểm để chống lại nỗ lực công DPA bậc Tuy nhiên mặt nạ cần phải tối ưu hoá để phù hợp với thiết bị có tài nguyên hạn chế Smart Card Để làm rõ vấn đề, Chương đồ án trình bày cụ thể giải pháp mặt nạ nhân chống cơng DPA lên thuật tốn AES Smart Card 3.1 Phương pháp biến đổi mặt nạ nhân trường GF(28) 3.1.1 Nền tảng lý thuyết Như biết, việc thêm mặt nạ, ta làm mờ các giá trị trung gian nhạy cảm, qua cản trở quá trình tấn cơng mã thám Các giá trị trung gian nhạy cảm nằm hầu hết các bước các vòng thuật toán AES, nên vấn đề việc thêm mặt nạ chúng phải che được hết các giá trị Thế vấn đề khơng nằm việc che, để quá trình mã hóa có ý nghĩa, mặt nạ phải gỡ được, tức mã được tạo thuật toán mã hóa có che phải được giải mã bình thường cách giải mã AES thơng thường Ngồi ra, thuật toán mã hóa khối, tồn các hàm tuyến tính phi tuyến tính, thuật toán mã hóa tùy chỉnh phải giữ ngun các tính chất nhằm đảm bảo an toàn hệ mật Vậy nên, để có mặt nạ tốt, thuật toán phải tạm đáp ứng các tiêu chí sau: - Mặt nạ phải che được toàn các giá trị trung gian nhạy cảm - Kết thúc quá trình mã hóa, mặt nạ phải được gỡ ra, mã phải giải mã được thuật toán AES thông thường - Thuật toán phải đảm bảo tính chất các hàm biến đổi, gồm hàm phi tuyến tính hàm tuyến tính Trên sở tiêu chí để có mặt nạ an tồn, ta tìm cách xây dựng thuật toán AES có che Thuật toán AES gồm có bước Trong có ba bước là: AddRoundKey, ShiftRows, MixColumn, phép biến đổi có tính 40 chất 𝑓 (𝑎 ⊕ 𝑏) = 𝑓(𝑎) ⊕ 𝑓(𝑏), ta dễ dàng thiết kế gỡ mặt nạ cách dùng phép XOR Tuy nhiên với phép biến đổi phi tuyến, tức 𝑓 (𝑎 ⊕ 𝑏) ≠ 𝑓 (𝑎) ⊕ 𝑓 (𝑏), ta gặp khó khăn muốn gỡ mặt nạ Bước SubByte gồm phép biến đổi phép nghịch đảo trường GF(28) phép ánh xạ Affine, ta quan tâm đến phép biến đổi phi tuyến nghịch đảo trường GF(28) phép ánh xạ Affine tuyến tính Nếu giải được phép biến đổi phi tuyến này, thiết kế xong mặt nạ cho thuật toán AES có che Vì vậy, em tập trung vào phương pháp thiết kế biến đổi phi tuyến cách dùng tính chất phép nhân trường GF(28) Biến đổi SubBytes AES được thể hình 3.1 Inversion in GF(28) A 𝐴 −1 Affine Transformation 𝑓 B Hình 3.1 Biến đổi SuBytes Do phép nghịch đảo trường GF(28) hoạt động phi tuyến, thực mặt nạ phép tính Boolean sau hoạt động sơ đồ mặt nạ không đảm bảo được yêu cầu “mặt nạ phải được gỡ bỏ đầu ra” để thuật toán hoạt động bình thường Vì thực mặt nạ, cần phải biến đổi để phù hợp với phép nghịch đảo Biến đổi SubBytes cải tiến được thể hình 3.2 A⨁X Modified Inversion in GF(28) −1 A ⨁X Affine Transformation 𝑓 B⨁X Hình 3.2 Biến đổi SubByte cải tiến Như mặt nạ nhân, ta thiết kế thuật toán bước biến đổi SubBytes để sử dụng mặt nạ Boolean toàn thuật toán AES INPUT: 𝐴 ⊕ 𝑋 OUTPUT: 𝐴−1 ⊕ 𝑋 41 3.1.2 Mặt nạ nhân thích nghi Đối với mặt nạ nhân thích nghi, ta sử dụng giá trị ngẫu nhiên Y bit nhân với đầu vào 𝐴 ⊕ 𝑋, kết hợp với các phép toán nhân, xor, đảo ngược để biến đổi SubBytes phù hợp A⊕X Y X AxY⊕XxY A×Y⊕X×Y X×Y Y A×Y a-1 X -1 Y -1 A ×Y X×Y-1 Y-1 a-1 A-1×Y-1⊕X×Y-1 Y A-1⊕X Hình 3.3: Sơ đồ thực thi mặt nạ nhân thích nghi Đối với mặt nạ nhân thích nghi, ta có thuật toán bước biến đổi SubBytes sau: Bước 1: Sinh giá trị 𝑌, 𝑌 giá trị ngẫu nhiên bit, sau nhân giá trị đầu vào 𝐴 ⊕ 𝑋 với 𝑌 Ta được (𝐴 ⊕ 𝑋) × 𝑌 = 𝐴 × 𝑌 ⊕ 𝑋 × 𝑌 Bước 2: Lấy giá trị 𝑌 nhân với giá trị mặt nạ 𝑋 sau thực phép tính XOR Ta được 𝑋 × 𝑌 ⊕ (𝐴 × 𝑌 ⊕ 𝑋 × 𝑌) = 𝐴 × 𝑌 42 Bước 3: Thực nghịch đảo trường GF(28) Ta được (𝐴 × 𝑌)−1 Bước 4: Nghịch đảo giá trị 𝑌 để có 𝑌 −1 Nhân 𝑌 −1 với mặt nạ 𝑋 ta được: 𝑋 × 𝑌 −1 Thực phép XOR (𝐴 × 𝑌)−1 𝑋 × 𝑌 −1 ta được (𝐴 × 𝑌)−1 ⊕ (𝑋 × 𝑌 −1) Bước 5: Nhân với 𝑌, ta có [(𝐴 × 𝑌)−1 ⊕ (𝑋 × 𝑌 −1 )] × 𝑌 Kết thu được 𝐴−1 ⊕ 𝑋 3.1.3 Mặt nạ nhân đơn giản Mặt nạ nhân đơn giản được xây dựng dựa mặt nạ nhân thích nghi, lược bỏ giá trị ngẫu nhiên Y để giảm bớt cồng kềnh thuật toán Các bước biến đổi mặt nạ nhân đơn giản sau: Bước 1: Từ giá trị mặt nạ đầu vào 𝐴 ⊕ 𝑋, thực các phép biến đổi để tính giá trị 𝐴 × 𝑋, sau nghịch đảo trường GF(28) để có giá trị 𝐴−1 ⊕ 𝑋 −1 theo ba bước sau: - Nhân với giá trị 𝑋, ta có: (𝐴 ⊕ 𝑋) × 𝑋 = 𝐴 × 𝑋 ⊕ 𝑋2 - Tiến hành loại bỏ X2 (sử dụng cơng thức 𝑎 ⊕ 𝑎 = 0), ta có: 𝐴 × 𝑋 ⊕ 𝑋2 ⊕ 𝑋2 = 𝐴 × 𝑋 - Sau có giá trị 𝐴 × 𝑋, thực nghịch đảo giá trị trường GF(28) sau: (𝐴 × 𝑋)−1 = 𝐴−1 × 𝑋 −1 Bước 2: Từ mặt nạ 𝐴−1 × 𝑋 −1 , biến đổi để thu được mặt nạ 𝐴−1 ⊕ 𝑋 - Trước hết thực phép XOR với 1: 𝐴−1 × 𝑋 −1 ⊕ - Để có giá trị 𝐴−1 ⊕ 𝑋, tiến hành nhân với X thực các biến đổi (sử dụng cơng thức 𝑎−1 × 𝑎 = để loại 𝑋 −1), ta có: (𝐴−1 × 𝑋 −1 ⊕ 1) × 𝑋 43 = 𝐴−1 × 𝑋 −1 × 𝑋 ⊕ 𝑋 = 𝐴−1 × ⊕ 𝑋 = 𝐴−1 ⊕ 𝑋 Sơ đồ mặt nạ nhân đơn giản sau: X2 A⊕X X a-1 A-1⊕X Hình 3.4: Sơ đồ thực thi mặt nạ nhân đơn giản 3.2 Cài đặt, thực thi mặt nạ nhân Mặt nạ thích nghi được thực thi Smart Card Atmega168 Lần lượt cài đặt thuật toán AES-128 bình thường AES-128 có mặt nạ nhân thích nghi Tiến hành tấn công DPA 256 trace tương quan với byte khoá thứ nhất Với thuật toán AES chưa có mặt nạ, tấn cơng DPA tìm byte khoá k = 74 Kết trace tương quan khoá được biểu diễn Hình 3.5 44 Hình 3.5: Trace tương quan khố chưa có mặt nạ Với thuật toán AES-128 được cài đặt mặt nạ nhân thích nghi, trace tương quan tương ứng với byte khoá k = 74 được biểu diễn Hình 3.6 Hình 3.6: Trace tương quan khố sau mặt nạ 3.3 Sự an toàn hiệu mặt nạ nhân 3.3.1 Sự an toàn lý thuyết Mục đích quá trình khai thác giá trị trung gian dự đoán khóa thơng qua liên quan khóa điện tiêu thụ quá trình thực thi, tức thời điểm hàm 𝐷(𝑘ℎó𝑎, 𝑏ả𝑛 𝑟õ) được thực thi Nếu rõ 𝑝 được che mask 𝑚 phương pháp mặt nạ nhân nêu trên, giá trị 45 𝑝𝑚 = 𝑝 ⊕ 𝑚, với khóa 𝑘, hàm 𝐷 (𝑘ℎó𝑎, 𝑏ả𝑛 𝑟õ) = 𝐷 (𝑘, 𝑝 ⊕ 𝑚) = 𝐷(𝑘ℎó𝑎, 𝑏ả𝑛 𝑟õ, 𝑚ặ𝑡 𝑛ạ) Lúc này, điện tiêu thụ hàm 𝐷(𝑘ℎó𝑎, 𝑏ả𝑛 𝑟õ) phụ thuộc vào 𝑘 𝑝 ⊕ 𝑚 Đến ta có nhận xét rằng, tấn công DPA bậc lên thuật toán AES che mặt nạ nhân, biết giá trị trung gian 𝑣 = 𝐷(𝑘ℎó𝑎, 𝑏ả𝑛 𝑟õ) khai thác được liên quan điện tiêu thụ điện tiêu thụ phụ thuộc hàm 𝐷(𝑘ℎó𝑎, 𝑏ả𝑛 𝑟õ, 𝑚ặ𝑡 𝑛ạ), hồn tồn độc lập với 𝐷(𝑘ℎó𝑎, 𝑏ả𝑛 𝑟õ) Do đó, việc thực tấn công DPA giá trị trung gian được che thành công1 Lần lượt các giá trị trung gian được che hoàn toàn độc lập so với giá trị gốc chúng phương pháp thêm mặt nạ nhân thích nghi mặt nạ nhân đơn giản, nhằm hoàn tất kết luận an toàn hai phương pháp Ta khẳng định mặt nạ thích nghi hoạt động hiệu việc làm mờ mối liên hệ giá trị trung gian thực giá trị trung gian che Dù khác cách triển khai S-Box, mặt nạ nhân thích nghi mặt nạ nhân đơn giản được áp dụng mặt nạ theo cách thức giống Vì lý đó, ta cần an tồn mơ hình sử dụng mặt nạ mặt nạ nhân thích nghi thừa nhận kết tương tự với mặt nạ nhân đơn giản Bắt đầu với bước thêm mặt nạ đầu vào, 𝑝 = 𝑝 ⊕ 𝑚, ta bắt đầu vòng AES - Bước đầu tiên, AddRoundKey, ta khẳng định giá trị trung gian che sau qua bước 𝑝 ⊕ 𝑚 ⊕ 𝑘 hoàn toàn độc lập với giá trị trung gian thực 𝑝 ⊕ 𝑘, với giá trị bất kì 𝑎 biến ngẫu nhiên có phân bố 𝑚, 𝑎 ⊕ 𝑚 độc lập với 𝑎.2 - Tiếp theo, SubByte, ta phân tích để SubByte thỏa mãn yêu cầu Trước tiên, phép tiền biến đổi từ 𝑝 ⊕ 𝑚 để thu được 𝑝 × 𝑚, tất các Trong phần phụ lục ta chứng minh chi tiết khẳng định dựa vào mơ hình trọng số Hamming Khẳng định 1, phụ lục 46 bước được che hoàn hảo, tính chất với giá trị 𝑎, 𝑏 bất kì, 𝑎 × 𝑚𝑎 𝑏 × 𝑚𝑏 độc lập với nhau, với 𝑚𝑎 , 𝑚𝑏 độc lập phân phối theo phân bố - Với các bước lại AffineTrans, ShiftRow, MixColumn biến đổi tuyến tính giống bước AddRoundKey giá trị trung gian được mặt nạ hoàn toàn độc lập với giá trị trung gian thực Từ các khẳng định trên, ta rút góp mặt mặt nạ nhân thích nghi làm cho giá trị trung gian được mặt nạ hoàn toàn độc lập với giá trị trung gian thực tế thiết bị hoạt động mật mã Tuy nhiên, mặt nạ nhân có nhược điểm không chống được tấn công zero Tấn công zero dựa thực tế giá trị được che giấu cách nhân Nhân giá trị với mặt nạ ngẫu nhiên dẫn đến 0, giá trị không mặt nạ được Tấn công zero thực được rõ p trùng với khoá k, 𝑝 ⊕ 𝑘 = 0, giá trị đầu vào phép biến đổi SubByte Xác suất để điều xảy 𝑃 = 2128 Vì xác suất xảy tấn cơng zero rất thấp 3.3.2 Sự an tồn thực nghiệm Như trình bày trên, Hình 3.6 biểu diễn trace tương quan khoá sau thực mặt nạ nhân thích nghi Trong 256 trace tương quan thu được tấn công DPA lên thuật toán AES-128 có cài đặt mặt nạ nhân, khơng có trace xuất gai nhọn Việc phân tích mức điện tiêu thụ Smart Card chạy thuật toán AES khơng tìm tương quan khoá giả thiết với mức điện tiêu thụ Chứng tỏ mặt nạ che thành công mức lượng tiêu thụ, tấn cơng DPA khơng thể tìm khoá bí mật thuật toán 3.3.3 Hiệu mặt nạ nhân Hiệu mặt nạ nhân thích nghi được đánh giá mơi trường lập trình mã nguồn CodevisionAVR Chương trình được nạp vào chip phần mềm Proisp, giao tiếp với vi điều khiển sử dụng phần mềm Terminal Khẳng định 2, phụ lục2 47 mạch chuyển đổi PL2303 Phần mềm Terminal có hỗ trợ tính thời gian thực chương trình Kết đánh giá thời gian dung lượng sơ đồ mặt nạ nhân thích nghi sau: Bảng 3.1: Hiệu mặt nạ nhân thích nghi Sơ đồ thực thi Thời gian (ms) Bộ nhớ (bytes) AES có mặt nạ nhân thích nghi 61,8 4332 Mặt nạ nhân được cài đặt thực thi chip Atmega168PA có nhớ flash 16KB Bộ nhớ chương trình AES có cài đặt mặt nạ nhân nạp vào chip để thực thi 4332 bytes, thời gian thực thi chương trình 61,8ms Bộ nhớ để thực thi mặt nạ nhân thích nghi nhỏ nhiều so với nhớ thiết bị Smart Card sử dụng Vì kết luận mặt nạ nhân đáp ứng được yêu cầu dung lượng hạn chế thiết bị có tài nguyên hạn hẹp Smart Card Kết luận chương 3: Chương tiến hành cài đặt đánh giá hiệu mặt nạ nhân chống công DPA lên thuật toán AES Smart Card Mặt nạ nhân che giá trị trung gian đáp ứng hiệu Smart Card 48 KẾT LUẬN - Nghiên cứu tổng quan thiết bị Smart Card, nguy chịu tấn công Smart Card thuật toán mã hoá AES-128 - Nghiên cứu tấn công phân tích lượng lên thiết bị mật mã Trình bày tấn cơng phân tích lượng vi sai (DPA) đưa số giải pháp chống tấn công - Nghiên cứu, thực thi giải pháp mặt nạ nhân chống tấn cơng phân tích lượng vi sai (DPA) lên thuật toán AES-128 Smart Card 49 TÀI LIỆU THAM KHẢO [4] Bachelor, “Power analysis of AES”, Masaryk University faculty of informatics, 2008 [5] Stefan Mangard, Elisabeth Oswald, Thomas Popp, “Power Analysis Attacks Revealing the Secrets of Smart Cards”, Institute for Applied Information Processing & Communications Graz University of Technology, 2007 [6] Wolfgang Rankl, “Smart Card Applications”, Kenneth Cox Technical Translations, 2007 [7] Johannes Blomer, Jorge Guajardo, Volker Krummel, “Provably secure masking of AES”, Infineon Technologies, 2005 [8] Elisabeth Oswald, Stefan Mangard, Norbert Pramstaller, “Secure and efficient Masking of AES”, Technical Report, 2004 [9] Kouichi, Masahiko Takenaka and Naoya Torii, “DPA Coutermeasure Based on the “ Masking Method””, Fujitsu Laboratories LTD, 2002 50

Ngày đăng: 21/08/2023, 08:43

Tài liệu cùng người dùng

Tài liệu liên quan