PHẦN MỞ ĐẦU 1. Lý do chọn đề tài Khoa học mật mã được chia thành hai nhánh chính là mật mã và thám mã. Mật mã học là khoa học, nghệ thuật của việc viết bí mật với mục tiêu che giấu ý nghĩa của bản tin. Thám mã là khoa học của việc tấn công phá vỡ hệ thống mật mã.
Có thể cho rằng thám mã chỉ dành cho cộng đồng tình báo hoặc có lẽ là các tổ chức tội phạm và không nên đưa vào phân loại như một ngành khoa học. Tuy nhiên, hiện nay, việc thám mã hay tấn công đối với các hệ mật được thực hiện bởi các nhà khoa học nổi tiếng trong giới học thuật. Tấn công lên các hệ mật thực sự quan trọng đối với các hệ thống mật mã hiện đại và là cách duy nhất để đảm bảo hệ mật là an toàn. Nếu không có những tấn công cố gắng phá vỡ hệ mật thì không thể khẳng định được hệ mật có an toàn hay không.
Theo nguyên lý Kerckhoff được đề xuất bởi Auguste Kerckhoffs năm 1883, một hệ mật được cho là an toàn nếu người tấn công biết chi tiết về hệ thống ngoại trừ khóa mã. Điều này có nghĩa là để cho thiết bị mật mã được an toàn, các thuật toán mã hóa và giải mã cần được công khai đối người người tấn công để có thể thử nghiệm được các dạng tấn công lên nó. Từ kết quả của các tấn công được công bố, độ an toàn của thiết bị sẽ được đánh giá, và qua đó có thể có những giải pháp phòng vệ thích hợp. Những tấn công mạnh nhất là những tấn công có thể tìm được khóa của thiết bị.
Vì vậy, độ an toàn của thiết bị phụ thuộc chính vào sự bí mật của khóa nên khóa cần phải được giữ bí mật và không để lộ lọt ra ngoài trong bất cứ tình huống nào. Trên phương diện kỹ thuật, các tấn công lên thiết bị mật mã có thể được chia thành hai dạng chính: tấn công truyền thống và tấn công kênh kề. Các tấn công thuộc dạng truyền thống được sử dụng để tìm bản tin gốc từ bản tin đã được mã hóa có được hoặc để tìm khóa của thiết bị. Dạng tấn công này thường là những tấn công trực diện, khai thác cấu trúc bên trong của thuật toán mã hóa hoặc coi thuật toán mật mã như một hộp đen và thử tất cả các khả năng có thể của khóa như dạng tấn công vét cạn.
Tuy nhiên dạng tấn công truyền thống thường tốn kém nhiều về chi phí, nguồn lực, thời gian và kết quả rất hạn chế [1], [2]. Các thuật toán mật mã đã được nghiên cứu trong thời gian dài bởi các chuyên gia nên việc tấn công trực diện vào cấu trúc của thuật toán thường rất khó có thể thực hiện. Do đó hiện nay, người tấn công thường cố gắng tấn công vào thiết bị, hệ thống mà các thuật toán mật mã được cài đặt. Một lớp mới các dạng tấn công có thể được 1 thực hiện là tấn công kênh kề (SCA), được đề xuất đầu tiên bởi Kocher năm 1999 [3].
SCA sử dụng thông tin kênh kề, đó là những tín hiệu vật lý như vết điện năng tiêu thụ, bức xạ điện từ được người tấn công thu từ thiết bị khi chúng thực thi việc tính toán, để tìm khóa bí mật của thiết bị. SCA có thể thực hiện bởi có sự tương quan giữa thông tin kênh kề với khóa mà thiết bị sử dụng. Các dạng chính của tấn công SCA là tấn công phân tích điện năng tiêu thụ vi sai (DPA) [3], tấn công phân tích điện năng tiêu thụ tương quan (CPA) [4], tấn công mẫu [5] và các biến thể của nó như tấn công mẫu sử dụng các kỹ thuật học máy, học sâu [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]. SCA có hiệu quả hơn nhiều so với các phương pháp tấn công truyền thống và nó thể thực hiện được trong thực tế.
SCA có thể thực thi thành công trên các thuật toán mã khối như DES [3] [16], AES [5] [17], Camellia, IDEA and Misty1, các thuật toán mã dòng như RC4, RC6, A5/1 và cả các thuật toán mật mã công khai như RSA, ECC. Hơn nữa, một số thiết bị mật mã được sử dụng thực tế cũng bị tấn công như khóa thông minh sử dụng cho ô-tô [18], các thiết bị sử dụng chip FPGA Virtex-II Pro [19], bộ nhớ mật mã của Atmel [20], thẻ thông minh MIFARE [21] [22], SIM sử dụng trong mạng GSM [23], hệ thống khóa số an toàn SimonsVoss [24], hay thiết bị xác thực hai yếu tố của Yubikey [25]. Cùng với sự phát triển của SCA thì các giải pháp chống SCA cũng được phát triển mạnh mẽ. Nguyên tắc chống SCA là loại bỏ sự phụ thuộc giữa thông tin kênh kề của thiết bị và dữ liệu nó xử lý.
Kỹ thuật ẩn và mặt nạ [26] là các kỹ thuật chống SCA được sử dụng phổ biến và những thiết bị được cài đặt bởi các kỹ thuật này được gọi là thiết bị có phòng vệ. Tuy nhiên các thiết bị này vẫn có thể bị tấn công bởi các tấn công bậc cao (HO-DPA) [8] [27] [28] [29] hay tấn công sử dụng kỹ thuật học sâu [30] [31] [32] [33]. Nhận thấy nguy cơ thực sự của thiết bị mật mã bởi SCA, một số tổ chức, chính phủ các nước đã xây dựng các tiêu chuẩn đề cập đến yêu cầu để thiết bị thỏa mãn mức độ an toàn mức cao là khả năng giảm thiểu các nguy cơ đối với tấn công SCA. Trong đó có: Chuẩn ISO/IEC 19790:2012 – chỉ ra các kỹ thuật, yêu cầu đảm bảo an toàn cho các mô-đun mật mã, trong đó với mô-đun mật mã thỏa mãn an toàn mức 4 thì một trong những yêu cầu là cần phải có các biện pháp làm giảm thiểu các dạng tấn công không xâm lấn như SCA ; Tiêu chuẩn FIPS 140-2 của Mỹ cũng đề cập tới mô-đun mật mã thỏa mãn độ an toàn mức 4 cũng phải có những biện pháp giảm thiểu tấn công SCA và điều này được mô tả chi tiết hơn ở chuẩn FIPS 140-3.
Các yêu cầu 2 của tiêu chuẩn này về mô-đun mật mã cũng đã được mô tả trong các tiêu chuẩn về bảo mật thẻ thông minh ; Tiêu chuẩn Việt Nam TCVN11295:2016 chỉ ra với những yêu cầu tương tự như ISO/IEC 19790 nhưng chưa chỉ ra những tham số để đánh giá cho mô-đun mật mã để thỏa mãn yêu cầu về giảm thiểu tấn công SCA. Trong hai thập kỷ qua kể từ công bố đầu tiên của Kocher, SCA đã chuyển từ một chủ đề nghiên cứu học thuật sang một ngành công nghiệp có trị giá hàng triệu USD với các công ty lớn như Cryptography Research (http://www.com) và Riscure (https://www.com) chuyên kinh doanh các thiết bị thử nghiệm tấn công SCA và các giải pháp phòng chống tấn công SCA. Sự quan tâm lớn của cộng đồng nghiên cứu về mật mã, các chính phủ, tổ chức, cộng đồng doanh nghiệp đối với SCA đã minh chứng cho tầm quan trọng của dạng tấn công này đối với sự an toàn của thiết bị mật mã. Rõ ràng, một thuật toán mật mã mạnh với các phương pháp tấn công truyền thống là vô nghĩa nếu nó không được cài đặt an toàn với các tấn công kênh kề.
Trong các dạng tấn công SCA, tấn công phân tích điện năng tiêu thụ là dạng được sử dụng phổ biến bởi tính hiệu quả của nó. Hiệu quả của tấn công phân tích điện năng tiêu thụ được thể hiện khả năng tìm được khóa đúng và số lượng vết điện năng tiêu thụ cần thiết để tìm được khóa đúng của thiết bị ở cả hai dạng thiết bị không có phòng vệ và có phòng vệ. Số lượng vết điện năng tiêu thụ cần để khôi phục khóa đúng càng nhỏ, thời gian thực thi tấn công càng nhanh và tấn công càng có hiệu quả. Mặc dù, đã có nhiều phương pháp tấn công được đề xuất cho các thiết bị không có phòng vệ và có phòng vệ với những kết quả nhất định.
Tuy nhiên, trên thực tế việc nâng cao hiệu quả của tấn công qua đó có thể giúp làm giảm thời gian tấn công tìm khóa của thiết bị, thời gian đánh giá độ an toàn của thiết bị luôn là một trong những thách thức lớn. Vì vậy, việc nghiên cứu xây dựng các phương pháp tấn công phân tích điện năng tiêu thụ hiệu quả là cần thiết, có nhu cầu trong thực tiễn và cần được nghiên cứu. Và đây cũng là lý do đề tài “Một số phương pháp tấn công phân tích điện năng tiêu thụ hiệu quả sử dụng kỹ thuật xử lý tín hiệu và học máy” được lựa chọn làm nội dung nghiên cứu của luận án. Các nghiên cứu liên quan Các tấn công SCA hai dạng chính là: tấn công không có bản mẫu (NPA) và tấn công có bản mẫu (PA).
NPA được thực hiện khi người tấn công chỉ có thiết bị cần tấn công và có được thông tin kênh kề khi thiết bị hoạt động. Hai phương pháp tấn 3 công cơ bản thuộc dạng tấn công không có bản mẫu là tấn công phân tích điện năng tiêu thụ vi sai (DPA) [3] và tấn công phân tích điện năng tiêu thụ tương quan (CPA) [4]. Về cơ bản, các tấn công phân tích điện năng tiêu thụ không bản mẫu thực hiện thông qua ba bước chính [34] [35]: Bước 1, với một tập bản rõ được sinh ngẫu nhiên, người tấn công cho thiết bị thực thi mã hóa với khóa bí mật được lưu trữ trong thiết bị mà người tấn công chưa biết và đo, lưu lại các vết điện năng tiêu thụ thực tế khi thiết bị thực thi mã hóa. Bước 2, với các khóa giả thiết mà thiết bị có thể sử dụng, cùng một tập bản rõ sử dụng trong bước 1, người tấn công xây dựng tập dữ liệu mô tả điện năng tiêu thụ giả định của thiết bị thông qua một mô hình điện năng tiêu thụ của nó.
Bước 3, với mỗi khóa giả thiết, người tấn công sử dụng công cụ thống kê để xác định mối tương quan giữa điện năng tiêu giả định và điện năng tiêu thụ thực tế của thiết bị. Khóa giả thiết nào cho tương quan lớn nhất được xem là khóa đúng của thiết bị. Với tấn công có bản mẫu (PA), hay còn gọi là tấn công mẫu, ngoài những điều kiện giống với tấn công không bản mẫu thì người tấn công còn có thiết bị mẫu là bản sao của thiết bị cần tấn công và có toàn quyền kiểm soát. Các dạng cơ bản của tấn công có bản mẫu là tấn công mẫu đơn giản [5] và tấn công mẫu dựa trên các mô hình học máy [6] [7] [8] [9] [10] [11] [12] [13] [14] [15].