Chương 1, luận án sẽ đánh giá tấn công và chống tấn công phân tích năng lượng cho thuật toán AES trên thẻ thông minh; phân tích nguyên lý, ưu nhược điểm, tính khả thi của các phương pháp chống tấn công; đặt ra bài toán, xác định hướng giải quyết bài toán của luận án. Tổng quan về tấn công và chống tấn công phân tích năng lượng cho thuật toán AES trên thẻ thông minh Các loại thiết bị mật mã đang đứng trước rất nhiều nguy cơ tấn công như: Tấn công bản mã, tấn công bản rõ, tấn công toán học [8, 13]. Tuy nhiên, hầu hết các tấn công đều tốn kém nhiều về chi phí, nguồn lực và mất rất nhiều thời gian nhưng kết quả và mức độ thành công còn nhiều hạn chế [12]. Trên thực tế, các thuật toán mật mã luôn được thực hiện trong phần mềm hoặc phần cứng của các thiết bị vật lý.
Những tương tác vật lý có thể đem lại thông tin có ích cho phân tích mã. Loại thông tin này được gọi là thông tin kênh kề. Tấn công khai thác thông tin kênh kề được gọi là tấn công kênh kề (SCA – Side Channel Attack) [18, 48]. Tấn công phân tích năng lượng là một loại tấn công kênh kề, không xâm lấn.
Mã thám thực hiện khai thác năng lượng tiêu thụ của thiết bị mật mã dựa vào dữ liệu thiết bị xử lý và hoạt động mà thiết bị đang thực thi. Năng lượng tiêu thụ của thiết bị mật mã có thể cung cấp nhiều thông tin về các tham số và hoạt động của thiết bị. Tấn công phân tích năng lượng tiêu thụ dựa trên việc đo năng lượng tiêu thụ của thiết bị khi thực hiện hoạt động mật mã, dùng phương pháp thống kê để tìm ra tương quan giữa năng 10 lượng tiêu thụ ứng với các khóa giả thiết so với năng lượng tiêu thụ thực tế đo được, từ đó suy ra khóa mã [36, 45]. Tấn công phân tích năng lượng được đánh giá là tấn công rất hiệu quả với chi phí không quá lớn [1, 2, 48].
Tấn công phân tích năng lượng ngày càng trở thành mối đe dọa rất nguy hiểm đối với các thuật toán mật mã. Trước nguy cơ của tấn công phân tích năng lượng, có nhiều nghiên cứu, đề xuất chống tấn công đã được công bố. Về cơ bản, các hướng nghiên cứu, đề xuất chống tấn công đều dựa vào hai phương pháp cơ bản là ẩn (hiding) và che mặt nạ (masking) [30]. Hiện nay, tấn công phân tích năng lượng tiêu thụ và giải pháp phòng chống là lĩnh vực nghiên cứu hết sức sôi động, đang được các nhà khoa học trên thế giới quan tâm.
Mật mã và thiết bị mật mã 1. Mật mã Mật mã là những quy tắc, quy ước riêng dùng để thay đổi hình thức biểu hiện của thông tin nhằm bảo đảm bí mật, xác thực, toàn vẹn của nội dung thông tin. Hệ thống thông tin an toàn hiện đại sử dụng các thuật toán mật mã để bảo đảm tính bí mật, xác thực và toàn vẹn của dữ liệu. Thuật toán mật mã là các hàm toán học có các đặc điểm điển hình với hai tham số đầu vào là bản rõ và khóa mật mã.
Kết hợp hai tham số trên với một phương pháp cụ thể cho ta thông điệp đầu ra gọi là bản mã. Quá trình xử lý trên được gọi là mã hóa [6, 8, 13]. Trong mật mã hiện đại, các thuật toán mật mã được giả định là đã biết, có nghĩa là tất cả chi tiết về thuật toán được công khai (chỉ có khóa là được bí mật). Có hai loại mã cơ bản là mã khóa đối xứng và mã khóa bất đối xứng.
Trong mã khóa đối xứng, quá trình mã hóa và giải mã sử dụng cùng một 11 khóa bí mật, điển hình của mật mã khóa đối xứng là hệ mật AES. AES là loại mã khối (mã hóa từng khối văn bản) với khối dữ liệu được sử dụng là 128 bit, các khối khóa có thể là 128, 192 hoặc 256 bit [43]. Mã khóa bất đối xứng sử dụng một cặp khóa để mã dịch (một khóa công khai và một khóa bí mật). Có rất nhiều thuật toán mật mã bất đối xứng (hay còn gọi là mật mã khóa công khai), có thể điểm một số thuật toán phổ biến là RSA, Elgama, ECC [25].
Thiết bị mật mã Thiết bị mật mã là thiết bị điện tử có nhiệm vụ thực thi các thuật toán mật mã. Trong hoạt động mật mã, người dùng không chỉ quan tâm đến việc bảo đảm an toàn của thuật toán mà còn phải quan tâm đến an toàn của toàn bộ hệ thống. Các thiết bị khi hoạt động mật mã đều phải có quy định, quy trình thực hiện bảo đảm an toàn. Trong quá trình thực hiện hoạt động mật mã, thiết bị có thể bị rò rỉ thông tin.
Bên tấn công (mã thám) dựa vào thông tin rò rỉ để tìm ra khóa bí mật của thiết bị đó. Các thiết bị lớn, cố định thường được sử dụng, thực thi tại các vị trí có thiết kế, xây dựng chế độ bảo vệ nên có thể phòng chống được tấn công kênh kề. Tuy nhiên, các thiết bị nhỏ, tài nguyên hạn chế như thẻ thông minh thường được cài đặt, thực thi để ứng dụng vào các nhiệm vụ nhỏ, cơ động, có thể không nằm trong khu vực bảo vệ nên cần phải tăng cường các giải pháp đảm bảo an toàn. Đây là hướng mà các nhà khoa học thường tập trung nghiên cứu và cũng chính là phạm vi nghiên cứu của luận án.
Thẻ thông minh Thẻ thông minh là một thiết bị điện tử, có chứa một vi mạch tích hợp hoặc một IC, có sẵn bộ nhớ trong để lưu thông tin, dữ liệu. Với những ưu điểm an toàn, gọn nhỏ, kín đáo, thẻ thông minh được sử dụng đa dạng, phổ biến từ chứng minh thư, thẻ tín dụng, vé, SIM điện thoại, căn cước điện tử, hộ chiếu điện tử, vé điện tử, khóa điện tử token, truyền hình trả tiền…. 12 Thẻ thông minh có chế tạo đặc biệt chống làm giả, có tính năng xác thực người dùng, có khả năng xử lý thuật toán và lưu trữ an toàn chống tấn công. thẻ thông minh có thể sử dụng nhiều thuật toán để đảm bảo an toàn, trong đó thuật toán AES được lựa chọn phổ biến nhờ các ưu điểm về tài nguyên, hiệu năng và an toàn [22].
Tuy nhiên, điểm yếu của thẻ thông minh là có năng lực tính toán khá hạn chế, dung lượng bộ nhớ tương đối nhỏ và phải dựa vào đầu đọc để có nguồn và clock. Là thiết bị có nhiều tính năng an toàn nhưng thẻ thông minh vẫn đứng trước một số loại tấn công. Bên tấn công có thể tấn công lên các thuật toán mật mã hoặc tấn công lên các cơ chế an toàn của các ứng dụng do thẻ thông minh đảm nhiệm. Trong các loại tấn công lên thẻ thông minh thì tấn công kênh kề, đặc biệt là tấn công phân tích năng lượng là loại tấn công nguy hiểm và phổ biến [2, 21, 36, 39, 40, 45].
Tấn công phân tích năng lượng lên thiết bị mật mã 1. Giới thiệu chung Năng lượng tiêu thụ của thiết bị mật mã có thể cung cấp nhiều thông tin về các tham số và hoạt động của thiết bị. Tấn công phân tích năng lượng thực hiện đo năng lượng của thiết bị khi thực hiện hoạt động mật mã, dùng phương pháp thống kê để tìm ra tương quan giữa năng lượng tiêu thụ ứng với các khóa giả thiết so với năng lượng tiêu thụ thực tế đo được để khám phá khóa bí mật của thiết bị [36, 38, 40]. Tấn công phân tích năng lượng là một loại tấn công kênh kề, không xâm lấn.
Bên tấn công thực hiện khai thác năng lượng của thiết bị mật mã dựa vào dữ liệu thiết bị xử lý và hoạt động mà thiết bị đang thực thi để khai thác thông tin có ích về khóa bí mật của thiết bị. Tấn công phân tích năng lượng không làm hư hại, không thay đổi các tham số của thiết bị mật mã nên rất khó có thể nhận biết thiết bị đang bị tấn công. 13 Tấn công phân tích năng lượng được phân loại dựa vào kỹ thuật phân tích năng lượng của thiết bị khi nó thực thi thuật toán mật mã gồm: tấn công phân tích năng lượng đơn giản; tấn công phân tích năng lượng vi sai; tấn công phân tích sai khác năng lượng dựa trên hệ số tương quan; tấn công phân tích năng lượng theo mẫu và tấn công phân tích năng lượng vi sai bậc cao. Tấn công phân tích năng lượng đơn giản Tấn công phân tích năng lượng đơn giản là loại tấn công khai thác năng lượng thực tế của thiết bị mật mã dựa trên một (hoặc rất ít) vết năng lượng để khai thác khóa bí mật của thiết bị.
Tấn công phân tích năng lượng đơn giản đo trực tiếp năng lượng tiêu thụ của thiết bị trong quá trình hoạt động mật mã. Mục tiêu của tấn công phân tích năng lượng đơn giản là khai thác khóa từ một (hoặc rất ít) vết năng lượng thu được. Tấn công phân tích năng lượng đơn giản đòi hỏi phải hiểu biết chi tiết về thuật toán mật mã của thiết bị chịu tấn công và phải sử dụng các phương pháp thống kê phức tạp để trích xuất được tín hiệu. Mặt khác, để tấn công thành công thì phải kiểm soát được năng lượng của thiết bị vì khóa có tác động (trực tiếp hay gián tiếp) đáng kể lên năng lượng [39].
Tấn công phân tích năng lượng đơn giản thực hiện thành công khi tấn công lên một số hoạt động mật mã như: Lược đồ khóa của thuật toán DES, các hoán vị, các nhánh có điều kiện của thuật toán RSA qua việc quan sát trực tiếp các vết năng lượng của thiết bị khi hoạt động mật mã [40]. Tấn công phân tích năng lượng theo mẫu Tấn công phân tích năng lượng theo mẫu là loại tấn công dựa vào việc so sánh đánh giá đặc tính thiết bị chịu tấn công (mẫu) với giá trị năng lượng thực tế đo được để khai thác khóa bí mật của thiết bị. Tấn công phân tích năng lượng theo mẫu biểu diễn các vết năng lượng thành một phân bố chuẩn đa biến. Tấn công phân tích năng lượng theo mẫu bao 14 gồm hai giai đoạn: giai đoạn xác định đặc tính và giai đoạn sử dụng đặc tính đã xác định để tấn công [35, 40].
Tấn công phân tích năng lượng vi sai Tấn công phân tích năng lượng vi sai là loại tấn công khai thác năng lượng sử dụng kết quả phân tích vi sai giữa các dữ liệu giả định về năng lượng của thiết bị và giá trị năng lượng thực tế đo được trong quá trình thiết bị thực hiện thuật toán mật mã để khai thác khóa bí mật.