ii LỜI CẢM ƠN Sau hơn 5 năm nghiên cứu, thực hiện, luận án: “Phương pháp 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 dựa trên kỹ thuật mặt nạ nhúng” đã h
ĐÁNH GIÁ 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
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
thuật toán AES trên thẻ thông minh
Các thiết bị mật mã hiện đang đối mặt với nhiều nguy cơ tấn công, bao gồm tấn công bản mã, tấn công bản rõ và tấn công toán học Mặc dù hầu hết các cuộc tấn công này đòi hỏi chi phí, nguồn lực và thời gian lớn, nhưng tỷ lệ thành công và kết quả vẫn còn hạn chế.
Các thuật toán mật mã thường được triển khai trong phần mềm hoặc phần cứng của thiết bị vật lý, và những tương tác vật lý này có thể cung cấp thông tin hữu ích cho việc phân tích mã 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 biết đến với tên gọi tấn công kênh kề (SCA - Side Channel Attack).
Tấn công phân tích năng lượng là một phương thức tấn công kênh kề không xâm lấn, trong đó mã thám khai thác năng lượng tiêu thụ của thiết bị mã hóa Phương pháp này dựa vào dữ liệu từ thiết bị xử lý và các hoạt động mà thiết bị đang thực hiện.
Năng lượng tiêu thụ của thiết bị mật mã cung cấp thông tin quan trọng về các tham số và hoạt động của nó Tấn công phân tích năng lượng tiêu thụ dựa vào việc đo lường năng lượng khi thiết bị thực hiện các hoạt động mã hóa, sử dụng phương pháp thống kê để xác định mối tương quan giữa năng lượng tiêu thụ và các hoạt động mật mã.
11 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 đang trở thành một mối đe dọa nghiêm trọng đối với các thuật toán mật mã Để đối phó với nguy cơ này, nhiều nghiên cứu và đề xuất chống tấn công đã được công bố Các phương pháp chính được sử dụng trong các nghiên cứu này bao gồm ẩn (hiding) và che mặt nạ (masking).
Hiện nay, tấn công phân tích năng lượng tiêu thụ và các giải pháp phòng chống đang thu hút sự chú ý mạnh mẽ từ các nhà khoa học trên toàn thế giới.
1.1.1 Mật mã và thiết bị mật mã
Mật mã là các quy tắc và quy ước được sử dụng để biến đổi thông tin, nhằm đảm bảo tính bí mật, xác thực và toàn vẹn của nội dung Hệ thống thông tin an toàn hiện đại áp dụng các thuật toán mật mã để bảo vệ dữ liệu khỏi các mối đe dọa.
Thuật toán mật mã là các hàm toán học với hai tham số đầu vào: bản rõ và khóa mật mã Kết hợp hai tham số này theo một phương pháp cụ thể sẽ tạo ra thông điệp đầu ra gọi là bản mã, và quá trình này được gọi là mã hóa Trong mật mã hiện đại, các thuật toán mật mã được coi là đã biết, tức là tất cả chi tiết về thuật toán đều công khai, chỉ có khóa là được giữ bí mật.
Có hai loại mã cơ bản: mã khóa đối xứng và mã khóa bất đối xứng Mã khóa đối xứng sử dụng cùng một khóa cho cả quá trình mã hóa và giải mã.
Hệ mật AES là một trong những khóa bí mật điển hình của mật mã khóa đối xứng, thuộc loại mã khối, trong đó dữ liệu được mã hóa theo từng khối văn bản.
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 gồm khóa công khai và khóa bí mật để mã hóa dữ liệu Một số thuật toán mật mã bất đối xứng phổ biến bao gồm RSA, Elgamal và ECC.
Thiết bị mật mã là thiết bị điện tử thực thi các thuật toán mật mã, và người dùng cần chú ý không chỉ đến an toàn của thuật toán mà còn đến an toàn của toàn bộ hệ thống Các thiết bị này phải tuân thủ quy định và quy trình bảo đảm an toàn trong quá trình hoạt động Tuy nhiên, trong quá trình thực hiện mật mã, có khả năng xảy ra rò rỉ thông tin, và kẻ tấn công có thể lợi dụng thông tin này để tìm ra khóa bí mật của thiết bị.
Các thiết bị lớn và cố định thường được triển khai tại các vị trí có thiết kế bảo vệ để chống lại các cuộc tấn công kề Ngược lại, các thiết bị nhỏ như thẻ thông minh, với tài nguyên hạn chế, thường được sử dụng cho các nhiệm vụ nhỏ và cơ động, có thể không nằm trong khu vực bảo vệ Do đó, cần tăng cường các giải pháp đảm bảo an toàn cho những thiết bị này Đây là lĩnh vực nghiên cứu chính mà các nhà khoa học đang tập trung và cũng là phạm vi nghiên cứu của luận án.
Thẻ thông minh là thiết bị điện tử nhỏ gọn, tích hợp vi mạch và bộ nhớ để lưu trữ thông tin Với tính năng an toàn và kín đáo, thẻ thông minh được ứng dụng rộng rãi trong nhiều lĩnh vực như chứng minh thư, thẻ tín dụng, vé điện tử, SIM điện thoại, căn cước điện tử, hộ chiếu điện tử, khóa điện tử token và truyền hình trả tiền.
Thẻ thông minh được thiết kế đặc biệt để chống làm giả và xác thực người dùng, đồng thời có khả năng xử lý thuật toán và lưu trữ an toàn trước các cuộc tấn công Trong số các thuật toán bảo mật, AES được ưa chuộng nhờ vào hiệu suất, tài nguyên và độ an toàn Tuy nhiên, thẻ thông minh vẫn gặp phải một số hạn chế như khả năng tính toán thấp, dung lượng bộ nhớ nhỏ và phụ thuộc vào đầu đọc để cung cấp nguồn điện và đồng hồ.
Đánh giá các phương pháp chống tấn công phân tích năng lượng dựa trên mặt nạ cho thuật toán AES trên thẻ thông minh
trên mặt nạ cho thuật toán AES trên thẻ thông minh
Các phương pháp chống tấn công dựa trên kỹ thuật mặt nạ được phân loại thành bốn hướng chính: mặt nạ cố định (FiM), mặt nạ đầy đủ (FuM), mặt nạ nhân (MM) và mặt nạ biến đổi số học (AtM).
1.2.1 Đánh giá phương pháp chống tấn công phân tích năng lượng dựa trên mặt nạ cố định
Phương pháp chống tấn công phân tích năng lượng sử dụng mặt nạ cố định FiM kết hợp với bộ sinh số ngẫu nhiên để tạo ra giá trị mặt nạ cố định Phương pháp này tính toán giá trị S-box tương ứng nhằm thực hiện mặt nạ cho thuật toán.
Quá trình mặt nạ bắt đầu với việc sinh ra 𝑞 bộ mặt nạ cố định {𝑚 0 , … , 𝑚 𝑞−1 } Tiếp theo, một bộ 𝑚 𝑘 được chọn ngẫu nhiên từ các giá trị của 𝑞 bộ để che dữ liệu đầu vào và các giá trị trung gian trong quá trình mã hóa Giá trị mặt nạ này sẽ được gỡ ra ở cuối lược đồ mã hóa.
Bảng dữ liệu S-box được tạo ra bằng cách kết hợp 𝑞 bộ mặt nạ với dữ liệu và được tính toán trước, sau đó lưu trữ trên bộ nhớ cố định Mỗi mặt nạ 𝑚 𝑘 tương ứng với một giá trị S-box 𝑆 𝑘, được xác định theo công thức 1.4.
𝑆 𝑘 [𝑣] = 𝑆[𝑣 𝑚 𝑘 ] ⊕ 𝑚 𝑘 , 𝑣ớ𝑖 𝑘 ∈ {0, , 𝑞 − 1} (1.4) Tại AddRoundKey thực hiện phép tính theo công thức 1.5:
Trong đó, 𝑇𝑖, 𝑗 là byte thứ 𝑗 của trạng thái hiện tại trong vòng 𝑖, 𝐾𝑖, 𝑗 là byte khóa vòng
Hoạt động ShiftRows biến đổi vị trí của byte trạng thái vì vậy nó không thay đổi giá trị mặt nạ [46]
Khi thực hiện tấn công phân tích năng lượng, kẻ tấn công sẽ đo và ghi lại giá trị trung gian, là hàm chứa dữ liệu và một phần của khóa Trong quá trình này, các byte của giá trị trung gian được che bởi các mặt nạ ngẫu nhiên 𝑚 𝑘, được chọn từ tập hợp các giá trị mặt nạ {𝑚 0 , … , 𝑚 𝑞−1 } với 𝑞 bộ đã tính trước.
Sử dụng bộ mặt nạ ngẫu nhiên 𝑞 giúp kẻ tấn công không thể xác định mặt nạ mà người dùng đang sử dụng, từ đó không thể tìm ra các tham số cần thiết để khai thác dữ liệu và khóa của thuật toán.
Phương pháp FiM, thông qua việc sử dụng bộ mặt nạ ngẫu nhiên, có khả năng bảo vệ tất cả các giá trị trung gian, từ đó đảm bảo an toàn cho thuật toán AES trước các cuộc tấn công phân tích năng lượng.
Quá trình thực thi FiM yêu cầu 01 byte bộ nhớ cho mỗi mặt nạ và 256 bytes cho mỗi giá trị bộ nhớ của S-box, tổng cộng sẽ tốn 256 bytes.
Phương pháp FiM yêu cầu nhiều thời gian để tính toán các mặt nạ trong quá trình hoạt động của thuật toán, do đó không phù hợp cho các thiết bị có tài nguyên hạn chế như thẻ thông minh.
1.2.2 Đánh giá phương pháp chống tấn công phân tích năng lượng dựa trên mặt nạ đầy đủ
Phương pháp chống tấn công dựa trên mặt nạ đầy đủ FuM (Full Mask) sử dụng 06 mặt nạ khác nhau gồm:
Hai mặt nạ 𝑚 và 𝑚’ được sử dụng trong biến đổi SubByte, trong đó 𝑚 là mặt nạ cho đầu vào và 𝑚’ là mặt nạ cho đầu ra Các giá trị mặt nạ này được xác định từ bảng tra cứu mặt nạ cho hộp thế S-box theo công thức 1.6.
- Bốn mặt nạ (𝑚 1 ′ , 𝑚 2 ′ , 𝑚 3 ′ , 𝑚 4 ′ ) được tính từ phép toán Mixcolumns cho (𝑚 1 , 𝑚 2 , 𝑚 3 , 𝑚 4 ) theo công thức 1.7:
Mỗi vòng bắt đầu bằng việc che bản rõ 𝑝 với các giá trị 𝑚 𝑖 ′ (𝑚 1 ′ , 𝑚 2 ′ , 𝑚 3 ′ , 𝑚 4 ′ ) và che khóa 𝑘 bằng mặt nạ, được tạo ra từ phép XOR giữa 𝑚 𝑖 ′ và 𝑚 Biến đổi AddRoundKey thực hiện phép XOR giữa bản rõ và khóa.
Giá trị trung gian (𝑣 ⊕ 𝑘) được mặt nạ theo công thức 1.8:
Tại bước biến đổi SubBytes, giá trị trung gian được che giấu bằng cách sử dụng bảng S-box, với công thức 𝑆 𝑚 (𝑣 ⊕ 𝑚) = 𝑆(𝑣) ⊕ 𝑚’ Sau khi thực hiện bước này, giá trị trung gian sẽ được bảo vệ bằng mặt nạ 𝑚’.
Sau biến đổi ShiftRows mặt nạ 𝑚’ vẫn được giữ nguyên
Trước MixColumns, tiến hành che bằng các mặt nạ 𝑚 𝑖 với 𝑚 1 tại hàng đầu tiên, sang 𝑚 2 tại hàng thứ 2, sang 𝑚 3 tại hàng thứ 3 và sang 𝑚 4 tại hàng thứ
4 Biến đổi MixColumns thay đổi các mặt nạ 𝑚 𝑖 thành 𝑚 𝑖 ′ với 𝑖 = 1, … ,4 Lúc này giá trị trung gian được che với 𝑚 𝑖 ′ Giá trị này được sử dụng để làm đầu vào cho các biến đổi của vòng tiếp theo cho đến vòng cuối cùng
: 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 ′
Hình 1.2 Sơ đồ mặt nạ đầy đủ cho thuật toán AES-128
Vòng cuối của thuật toán không thực hiện biến đổi MixColumns, và giá trị dữ liệu tại điểm kết thúc được che với mặt nạ 𝑚’ sau bước SubBytes và ShiftRows Đồng thời, khóa vòng cũng được che với mặt nạ 𝑚’ Khi thực hiện phép AddRoundKey cuối cùng, chúng ta thu được bản mã không còn mặt nạ Do đó, mặt nạ đã được gỡ bỏ tại đầu ra của thuật toán để phục vụ cho quá trình giải mã.
Sơ đồ thuật toán AES -128 được che bởi mặt nạ đầy đủ tại Hình 1.2
Phương pháp FuM bảo vệ tất cả các giá trị trung gian của thuật toán AES trong quá trình mã hóa, giúp ngăn chặn các cuộc tấn công phân tích năng lượng đối với thuật toán này.
Ý tưởng mặt nạ nhúng
Ý tưởng về mặt nạ nhúng được giới thiệu bởi Christophe Tymen và Jovan Golic, đã được phát triển và ứng dụng trong phần cứng Để bảo vệ chống lại các cuộc tấn công giá trị zero, các tác giả đã đề xuất ánh xạ giá trị dữ liệu trên trường 𝐺𝐹(2^8) sang tính toán trên vành ℛ = 𝐺𝐹(2)[𝑥]/𝑃𝑄 Phép ánh xạ ngẫu nhiên 𝜌 được định nghĩa theo công thức: 𝜌(𝑋) = 𝑋 ⊕ 𝑅𝑃 𝑚𝑜𝑑 𝑃𝑄, trong đó 𝑃 là đa thức bất khả quy bậc 2 và 𝑄 là đa thức bất khả quy bậc 𝑙 trên trường 𝐺𝐹(2^8).
Các tác giả khẳng định rằng việc ánh xạ giá trị “0” trên trường 𝐺𝐹(2^8) lên 2^𝑙 giá trị ngẫu nhiên trong ℛ sẽ tăng độ phức tạp tính toán cho mã thám khi thực hiện tấn công giá trị zero Ý tưởng này không chỉ giúp chống lại tấn công phân tích năng lượng mà còn bảo vệ hệ thống trước các tấn công giá trị zero.
Mặc dù công bố hiện tại chỉ dừng lại ở mức ý tưởng, các tác giả chưa cung cấp cơ sở lý thuyết cho các phép biến đổi và chưa chứng minh tính khả thi cũng như an toàn của chúng Để ứng dụng ý tưởng này, cần nghiên cứu và phát triển cơ sở lý thuyết và toán học cho các phép biến đổi, đồng thời xây dựng các phương pháp chứng minh tính đúng đắn và hiệu quả Ngoài ra, cần đánh giá và điều chỉnh để đề xuất mô hình phù hợp cho thiết bị có tài nguyên hạn chế như thẻ thông minh.
Kết luận chương 1
Nghiên cứu và đánh giá về tấn công cũng như biện pháp 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 cho thấy một số vấn đề quan trọng.
Tấn công phân tích năng lượng khai thác năng lượng thực tế khi thiết bị hoạt động mật mã Loại tấn công này thành công khi năng lượng thu được có mối liên hệ với dữ liệu hoặc hoạt động của thiết bị Tấn công phân tích năng lượng được coi là một trong những tấn công kênh kề nguy hiểm và hiệu quả nhất.
Các giải pháp cơ bản để chống tấn công bao gồm phương pháp ẩn và mặt nạ Phương pháp ẩn giúp che giấu, san bằng và ngẫu nhiên hóa năng lượng tiêu thụ, làm khó khăn cho mã thám nhưng không loại bỏ hoàn toàn dữ liệu phụ thuộc Trong khi đó, phương pháp mặt nạ sử dụng giá trị ngẫu nhiên để che giá trị trung gian của thuật toán, từ đó xóa bỏ mối liên hệ thống kê giữa năng lượng tiêu thụ và dữ liệu đầu vào, đảm bảo an toàn và chống lại các tấn công phân tích năng lượng.
Bài toán đặt ra của luận án là nghiên cứu, đề xuất phương pháp mặt nạ chống tấn công phân tích năng lượng cho AES trên thẻ thông minh
Các phương pháp đề xuất cho thuật toán AES trên thẻ thông minh đều có ưu điểm và nội dung phù hợp để chống tấn công Trong số đó, phương pháp mặt nạ cố định FiM và mặt nạ đầy đủ FuM cho thấy độ an toàn cao Tuy nhiên, việc tính toán và lưu trữ giá trị mặt nạ cố định cùng với giá trị mặt nạ S-box trong bộ nhớ cố định của các phương pháp này tạo ra áp lực lớn về tài nguyên cho thiết bị, khiến chúng không phù hợp khi thực thi trên thẻ thông minh.
Mặt nạ nhân giúp bảo vệ tài nguyên cho thiết bị và linh hoạt trong việc biến đổi Tuy nhiên, một điểm yếu của mặt nạ nhân là không thể chống lại các cuộc tấn công có giá trị zero.
Phương pháp mặt nạ biến đổi toán học AtM cung cấp bảo mật chống lại các cuộc tấn công DPA và tấn công giá trị zero Tuy nhiên, phương pháp này yêu cầu quá trình biến đổi, che mặt nạ, nghịch đảo và hạ bậc nhiều lần, cùng với việc sử dụng nhiều loại mặt nạ Điều này khiến nó không phù hợp với thiết bị có tài nguyên hạn chế như thẻ thông minh về mặt thời gian và tài nguyên.
Phương pháp mặt nạ mới được nghiên cứu sẽ đề xuất xây dựng kỹ thuật mặt nạ nhúng, kết hợp với các phương pháp FuM, AtM và MM.
Căn cứ đánh giá FuM đảm bảo an toàn chống tấn công phân tích năng lượng, nghiên cứu sinh đã ứng dụng FuM để thực hiện mặt nạ đầy đủ cho thuật toán AES Giải pháp khắc phục điểm yếu về dung lượng của FuM là xây dựng lược đồ mặt nạ nhúng thay thế phép nghịch đảo.
2/ Xây dựng kỹ thuật mặt nạ nhúng
Kỹ thuật mặt nạ nhúng kết hợp với mặt nạ MM, mặt nạ AtM và ý tưởng mặt nạ nhúng
Mặt nạ MM cho phép điều chỉnh mặt nạ phù hợp, thực hiện biến đổi phép kết hợp mặt nạ về nghịch đảo của phép nhân
Biểu diễn dữ liệu qua lại trường 𝐺𝐹(2 8 ) và trường 𝐺𝐹(2 4 ) 2 (ứng dụng AtM) sẽ gây được nhiều khó khăn cho tấn công khi mô phỏng giả định trên
41 trường 𝐺𝐹(2 8 ), giảm độ phức tạp và tài nguyên khi tính toán trên trường
Phương pháp mặt nạ nhúng từ trường 𝐺𝐹(2 4 ) 2 sang vành 𝐺𝐹(2 4 )[𝑥]/𝑃𝑄 và chiếu ngược lại, giá trị “0” trên trường 𝐺𝐹(2 4 ) 2 lúc này được ánh xạ lên
Giá trị ngẫu nhiên trong vành (2 4𝑘) có thể làm tăng độ phức tạp tính toán cho tấn công giá trị zero Để giải quyết bài toán của Luận án, cần xây dựng và phát triển cơ sở lý thuyết cho lược đồ mặt nạ nhúng, cũng như xây dựng phương pháp mặt nạ cho AES Hơn nữa, cần đề xuất thuật toán cải tiến chống phân tích năng lượng và chứng minh tính an toàn, hiệu quả, cùng khả năng thực thi trên thẻ thông minh.
ĐỀ XUẤT PHƯƠNG PHÁP 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 DỰA TRÊN KỸ THUẬT MẶT NẠ NHÚNG
Phương pháp chống tấn công phân tích năng lượng dựa trên mặt nạ
2.1.1 Mô tả phương pháp mặt nạ cho thuật toán AES
Tấn công phân tích năng lượng thành công nhờ vào mối liên hệ giữa năng lượng tiêu thụ của thiết bị mật mã và giá trị trung gian mà thiết bị xử lý Gọi 𝑣 là giá trị trung gian và 𝑚 là giá trị mặt nạ Khi giá trị 𝑣 được che bằng mặt nạ 𝑚, ta thu được giá trị trung gian đã mặt nạ 𝑣 𝑚 Với mặt nạ 𝑚 ngẫu nhiên, giá trị trung gian đã mặt nạ 𝑣 𝑚 không phụ thuộc vào giá trị trung gian 𝑣.
Năng lượng tiêu thụ tức thời của thiết bị liên quan đến giá trị trung gian, do đó, năng lượng tiêu thụ của giá trị trung gian mặt nạ 𝑣 𝑚 là độc lập với năng lượng tiêu thụ của giá trị trung gian 𝑣 Bên tấn công không thể thu thập năng lượng tiêu thụ "thật" của thiết bị, dẫn đến việc không thể tấn công giá trị trung gian “thật” của thuật toán.
Trong thuật toán mật mã, giá trị trung gian được ký hiệu là 𝑣, trong khi giá trị mặt nạ là 𝑚 Giá trị trung gian đã được che bởi mặt nạ được biểu thị là 𝑣 𝑚 Theo Định nghĩa 2.1 [40], mặt nạ là kỹ thuật dùng để che giấu giá trị trung gian của một thuật toán bằng cách sử dụng một giá trị mặt nạ, được xác định theo công thức cụ thể.
- Phép ⨀ là phép gắn mặt nạ (có thể sử dụng các phép tính +, ×, ⊕ …)
Các lược đồ mặt nạ ảnh hưởng trực tiếp đến bản rõ hoặc khóa Quá trình cài đặt và thực thi thuật toán cần điều chỉnh để xử lý các giá trị trung gian đã được mặt nạ và giám sát hoạt động của mặt nạ Kết quả mã hóa cũng cần được mặt nạ, và mặt nạ phải được gỡ bỏ ở cuối quá trình tính toán để thu được bản mã.
Một lược đồ mặt nạ cần bao gồm các yếu tố quan trọng như cách biến đổi, cách khởi tạo, các giá trị ngẫu nhiên sử dụng cho mặt nạ, phương pháp kết hợp mặt nạ với dữ liệu, và sự thay đổi của mặt nạ để che giấu các giá trị trung gian trong quá trình hoạt động của thuật toán.
2.1.1.2 Các kỹ thuật mặt nạ
Các kỹ thuật mặt nạ được phân loại dựa trên các phép tính ⨀ dùng để kết hợp giá trị trung gian với giá trị mặt nạ Tùy thuộc vào từng thuật toán mật mã, phép gắn mặt nạ có thể là phép tính logic, được gọi là mặt nạ logic, hoặc là phép tính số học, được gọi là mặt nạ số học Nếu cả hai phép tính logic và số học được thực hiện, thì được gọi là mặt nạ kết hợp.
Mặt nạ logic là thực hiện che giá trị trung gian 𝑣 bằng giá trị mặt nạ 𝑚 sử dụng phép tính XOR, theo công thức 2.2:
𝑣 𝑚 = 𝑣 ⊕𝑚 (2.2) Phép tính XOR là có tính chất: 𝑓(𝑥 ⊕𝑦) = 𝑓(𝑥)⊕𝑓(𝑦) Để tính giá trị mặt nạ ta có:
Việc gỡ bỏ mặt nạ được thực hiện dễ dàng bằng việc XOR giá trị trung gian đã mặt nạ với giá trị mặt nạ theo công thức 2.4:
Thực hiện che giá trị trung gian 𝑣 bằng giá trị mặt nạ 𝑚 sử dụng các phép tính số học (phép cộng, phép nhân modulo):
Thông thường, để thuận lợi trong xử lý, ta chọn modulo 𝑛 của phép mặt nạ theo modulo của thuật toán mật mã
Thực hiện che giá trị 𝑣 bằng giá trị mặt nạ 𝑚 sử dụng kết hợp cả các phép tính logic và phép tính số học
2.1.1.3 Mặt nạ cho thuật toán AES Đối với thuật toán AES, đầu ra các phép biến đổi của thuật toán gồm: đầu ra của AddRoundKey, đầu ra của SubBytes, đầu ra của ShiftRows và đầu ra của MixColumns Tấn công phân tích năng lượng thực hiện tấn công lên các giá trị
Mặt nạ trong thuật toán AES cần phải bảo vệ các giá trị trung gian, đảm bảo rằng đầu ra của các phép biến đổi được che phủ bởi giá trị mặt nạ.
Sơ đồ so sánh thuật toán AES bình thường và thuật toán AES khi thực thi mặt nạ được biểu hiện tại Hình 2.1
Hình 2.1 Sơ đồ thuật toán AES bình thường (a) và khi thực thi mặt nạ (b)
Theo Hình 2.1a, các giá trị trung gian của thuật toán AES bình thường bao gồm A, B, C, D, E, là đầu ra của 4 phép biến đổi SubBytes, ShiftRows, MixColumns và AddRoundKeys mà chưa được mặt nạ Trong khi đó, khi áp dụng mặt nạ cho thuật toán (Hình 2.1b), các giá trị trung gian A’, B’, C’, D’, E’ đều được bảo vệ bởi mặt nạ.
Với dữ liệu đầu ra A ′ của biến đổi AddRoundKey đầu tiên được che bởi mặt nạ 𝑚, ta được giá trị trung gian: A ′ = A ⊕ 𝑚
Khi thực hiện biến đổi SubBytes, kết quả đầu ra là B ′ = B ⊕ 𝑚 1 , như vậy giá trị trung gian B được che bởi mặt nạ 𝑚 1
Sau biến đổi ShiftRows kết quả đầu ra là C ′ = C ⊕ 𝑚 2 , như vậy giá trị trung gian C được che bởi mặt nạ 𝑚 2
Sau khi thực hiện biến đổi MixColumns, kết quả đầu ra là \( D' = D \oplus m_3 \), trong đó giá trị trung gian \( D \) được bảo vệ bởi mặt nạ \( m_3 \) Giá trị này sau đó được kết hợp với khóa vòng \( (k \oplus m \oplus m_3) \) trong quá trình biến đổi AddRoundKey.
Sau biến đổi AddRoundKey, kết quả đầu ra là \( E' = E \oplus m \), trong đó giá trị trung gian \( E \) được che bởi mặt nạ \( m \) Giá trị đầu ra \( E \oplus m \) được sử dụng cho vòng tiếp theo Ở vòng cuối cùng, khóa vòng được che với mặt nạ \( m_2 \), và khi kết hợp với giá trị trung gian ở đầu ra biến đổi ShiftRows là \( C \oplus m_2 \) (vòng cuối không thực hiện biến đổi MixColumns), kết quả cho ta giá trị bản mã \( E \) không mặt nạ.
2.1.2 Sự an toàn mặt nạ
2.1.2.1 Mặt nạ hoàn thiện Để đánh giá sự an toàn của mặt nạ, luận án trình bày khái niệm mặt nạ hoàn thiện Mở rộng khái niệm mặt nạ, giả sử với một thuật toán mật mã có phép mã hóa là 𝑒𝑛𝑐(𝑝, 𝑘) (𝑝 là bản rõ và khóa 𝑘) ký hiệu là 𝐸(𝑝, 𝑘) và có tập hợp các giá trị trung gian được tính theo công thức 2.5
Trong đó 𝑡 là số lần thuật toán mã hóa bản rõ 𝑝
Khi được che bởi mặt nạ 𝑚, giá trị trung gian được biểu diễn thành chuỗi các kết quả được tính theo công thức 2.6
Mỗi kết quả trung gian 𝑣 𝑖 phụ thuộc vào các giá trị 𝑝, 𝑘 và 𝑚 Khi giá trị 𝑚 được chọn ngẫu nhiên từ tập hợp {0,1}, việc che bản mã 𝐸(𝑝, 𝑘) sẽ dẫn đến việc ngẫu nhiên hoá các giá trị trung gian thu được.
Giả thiết bên tấn công phân tích năng lượng có được các cặp rõ/mã (𝑝, 𝐸(𝑝, 𝑘)) Với mỗi cặp (𝑝, 𝐸(𝑝, 𝑘)), bên tấn công thu được các kết quả trung gian 𝑣 1 (𝑝, 𝑘), … , 𝑣 𝑛 (𝑝, 𝑘), với (1 ≤ 𝑛 ≤ 𝑡) Do đó, bên tấn công sẽ có các giá trị trung gian khác nhau cho các cặp rõ/mã khác nhau Nếu tấn công thu được 𝑛 giá trị trung gian, thì tấn công phân tích năng lượng được gọi là tấn công phân tích năng lượng bậc 𝑛.
Quá trình mã hóa của thuật toán với các giá trị (𝑝, 𝐸(𝑝, 𝑘)) sẽ không đảm bảo an toàn nếu phân bố các kết quả trung gian mà kẻ tấn công thu được phụ thuộc vào bản rõ 𝑝 và khóa bí mật 𝑘.
Giả sử ta có 𝑛 loạt giá trị trung gian 𝑣 1 , , 𝑣 𝑛 tuỳ ý của mỗi cặp bản rõ/khóa (𝑝, 𝑘);
M là giá trị ngẫu nhiên để làm mặt nạ che cho các giá trị trung gian;
Phát triển cơ sở toán học cho kỹ thuật mặt nạ nhúng
Phương pháp mặt nạ cho thuật toán AES trên thẻ thông minh nhằm chống tấn công phân tích năng lượng sẽ được nghiên cứu và phát triển Nghiên cứu sinh sẽ đề xuất kỹ thuật mặt nạ nhúng kết hợp với các phương pháp FuM, AtM, và MM Luận án sẽ phát triển cơ sở toán học cho kỹ thuật mặt nạ nhúng biến đổi trường vành, bao gồm các phép tính toán biểu diễn dữ liệu qua lại giữa các trường 𝐺𝐹(2^8) và 𝐺𝐹(2^4)^2 Đồng thời, sẽ xây dựng cơ sở toán học cho phép ánh xạ nhúng từ trường 𝐺𝐹(2^4)^2 sang vành 𝐺𝐹(2^4)[𝑥]/𝑃𝑄 và chiếu ngược lại.
2.2.1 Phương pháp tính toán trên trường mở rộng
Thuật toán AES hoạt động trên trường 𝐺𝐹(2^8), tương ứng với việc xử lý trong kỹ thuật điện tử với bộ xử lý 8 bits Các phương pháp mặt nạ được áp dụng trên trường này nhằm tăng cường bảo mật và hiệu suất trong quá trình mã hóa dữ liệu.
Phương pháp biến đổi SubBytes trong AES tiêu tốn tài nguyên, đặc biệt là trong các thiết bị hạn chế Luận án trình bày cách thức biến đổi và biểu diễn dữ liệu trên trường 𝐺𝐹((2^4)^2), tương ứng với xử lý trong kỹ thuật điện tử với bộ xử lý 4 bits Phương pháp này giúp phân tán dữ liệu, giảm thiểu số bit xử lý và có thể được ứng dụng để thực thi phiên bản AES nhỏ gọn, phù hợp với thẻ thông minh.
2.2.1.1 Phép biểu diễn dữ liệu trên trường mở rộng
Thuật toán AES biến đổi biểu diễn dữ liệu trên trường 𝐺𝐹(2 8 ) với đa thức bất khả quy là: 𝑚(𝑥) = 𝑥 8 + 𝑥 4 + 𝑥 3 + 𝑥 + 1.
Biến đổi sang biểu diễn trên trường 𝐺𝐹((2 4 ) 2 ) với đa thức bất khả quy thường được chọn là:𝑛(𝑥) = 𝑥 2 + {1}𝑥 + {𝑒}.
Cho 𝑎 ∈ 𝐺𝐹(2 8 ), 𝑎 ℎ , 𝑎 𝑙 ∈ 𝐺𝐹(2 4 ), khi đó phép biến đổi 𝑓: 𝐺𝐹(2 8 ) →
𝑓(𝑎) = 𝑎 ℎ 𝑥 + 𝑎 𝑙 = 𝑚𝑎𝑝(𝑎) 𝑣ớ𝑖 𝑎 ∈ 𝐺𝐹(2 8 ), 𝑎 ℎ , 𝑎 𝑙 ∈ 𝐺𝐹(2 4 ) (2.9) Các giá trị khi ánh xạ từ một phần tử 𝑎 ∈ 𝐺𝐹(2 8 ) đến đa thức hai hạng tử
𝑎 ℎ 𝑥 + 𝑎 𝑙 với 𝑎 ℎ , 𝑎 𝑙 ∈ 𝐺𝐹(2 4 ) được biểu diễn như sau:
Phép biến đổi ngược lại 𝑓 − : 𝐺𝐹((2 4 ) 2 ) → 𝐺𝐹(2 8 ) được định nghĩa:
Các giá trị khi ánh xạ từ đa thức hai hạng tử 𝑎 ℎ 𝑥 + 𝑎 𝑙 với 𝑎 ℎ , 𝑎 𝑙 ∈ 𝐺𝐹(2 4 ) đến một phần tử 𝑎 ∈ 𝐺𝐹(2 8 ) được biểu diễn như sau:
Trường hữu hạn 𝐺𝐹(2^8) và 𝐺𝐹((2^4)^2) là đẳng cấu với nhau, do đó, khi thực hiện biến đổi từ 𝐺𝐹(2^8) sang 𝐺𝐹((2^4)^2), mỗi phần tử trong 𝐺𝐹(2^8) sẽ tương ứng với một phần tử duy nhất trong 𝐺𝐹((2^4)^2) và ngược lại.
2.2.1.2 Các phép toán cơ bản trên trường mở rộng a/ Phép cộng Định nghĩa 2.2 [28]: Phép cộng trên trường 𝐺𝐹((2 4 ) 2 ) là phép cộng các đa thức hai hạng tử được thực hiện bằng cách cộng tương ứng các hệ số, theo công thức 2.11:
(𝑎 ℎ 𝑥 ⊕ 𝑎 𝑙 )(𝑏 ℎ 𝑥 ⊕ 𝑏 𝑙 ) = (𝑎 ℎ 𝑏 ℎ )𝑥 + (𝑎 𝑙 𝑏 𝑙 ) (2.11) b/ Phép nhân Định nghĩa 2.3 [28]: Phép nhân trên trường 𝐺𝐹((2 4 ) 2 ) là phép nhân đa thức hai hạng tử và thực hiện phép rút gọn modulo một đa thức bất khả quy
Phép nhân của đa thức hai hạng tử trên 𝐺𝐹(2 8 ) được thực hiện bằng cách rút gọn theo modulo 𝑛(𝑥) = 𝑥^2 + {1}𝑥 + {𝑒}, đảm bảo rằng kết quả thu được vẫn là một đa thức có hai hạng tử.
Hệ số của 𝑛(𝑥) là phần tử thuộc 𝐺𝐹(2 4 ) và được biểu diễn dưới dạng Hex Với 𝑛(𝑥) được định nghĩa ở trên, (2.12) có thể được viết lại thành:
Lúc này, thực hiện phép nhân trong trường 𝐺𝐹(2 4 ), với đa thức rút gọn là:
𝑚 4 (𝑥) = 𝑥 4 + 𝑥 + 1 (2.13) Trong đó 𝑎 ℎ , 𝑏 ℎ là đa thức bậc 3 trên trường 𝐺𝐹(2).
Cách thực hiện phép nhân trong 𝐺𝐹(2 4 ) tương tự như phép nhân Byte và được biểu diễn cụ thể như sau:
Phép bình phương trong trường 𝐺𝐹(2 4 ) là trường hợp đặc biệt của phép nhân được biểu diễn như sau:
𝑞(𝑥) = 𝑎(𝑥) 2 𝑚𝑜𝑑 𝑚 4 (𝑥), 𝑎(𝑥), 𝑞(𝑥) ∈ 𝐺𝐹(2 4 ) (2.15) Với 𝑞 0 = 𝑎 0 𝑎 2 𝑞 1 = 𝑎 2 𝑞 2 = 𝑎 1 𝑎 3 𝑞 3 = 𝑎 3 c/ Phép nghịch đảo Định nghĩa 2.4 [28]: Phép nghịch đảo 𝑎 −1 của phần tử a thuộc 𝐺𝐹((2 4 ) 2 ) có thể tính được bằng cách giảiphương trình 𝑎(𝑥)⊗ 𝑎 −1 𝑚𝑜𝑑 𝑚 4 (𝑥) = 1.
2.2.2 Xây dựng cơ sở toán học cho kỹ thuật mặt nạ nhúng chống tấn công phân tích năng lượng lên thuật toán AES trên thẻ thông minh
Kỹ thuật mặt nạ nhúng của nghiên cứu sinh đã được trình bày tại Hội thảo An toàn thông tin do Học viện Kỹ thuật mật mã tổ chức Bài báo đề cập đến “Một phương pháp hiệu quả chống tấn công DPA lên AES”.
Smart Card” được đăng trên Tạp chí Nghiên cứu Khoa học và Công nghệ Quân sự, số đặc san, tháng 8, năm 2019
2.2.2.1 Vành thương đa thức a/ Định nghĩa Định nghĩa 2.5 [26]: Vành thương đa thức biến 𝑥 là vành ℛ = 𝐺𝐹(2 4 )[𝑥]/𝑃𝑄 với hệ số thuộc 𝐺𝐹(2 4 ) có modulo là tích của đa thức bất khả quy 𝑃(𝑥) bậc 2 và đa thức bất khả quy 𝑄(𝑥) bậc 𝑙 trên 𝐺𝐹(2 4 )
Trên vành ℛ có thể xác định các phép cộng và nhân như sau:
(𝑋 + 𝑅𝑃 𝑚𝑜𝑑 𝑃𝑄) × (𝑌 + 𝑅𝑃 𝑚𝑜𝑑 𝑃𝑄) = (𝑋 + 𝑌) × 𝑅𝑃 𝑚𝑜𝑑𝑃𝑄 Định nghĩa 2.6 [26]: Phép ánh xạ 𝜹 thực hiện ánh xạ một phần tử thuộc vành
ℛ sang một phần tử thuộc 𝐺𝐹((2 4 ) 2 ) × 𝐺𝐹((2 4 ) 𝑙 ):
Căn cứ vào cấu trúc toán học của vành ℛ và phép ánh xạ 𝛿, nghiên cứu sinh đã tổng hợp và chứng minh định lý 2.1: Vành ℛ = 𝐺𝐹(2^4)[𝑥]/𝑃𝑄 đẳng cấu với 𝐺𝐹((2^4)^2) × 𝐺𝐹((2^4)^𝑙) qua phép ánh xạ đẳng cấu 𝛿: 𝑈 ↦ (𝑈 𝑚𝑜𝑑 𝑃(𝑥), 𝑈 𝑚𝑜𝑑 𝑄(𝑥)).
Chứng minh: Để chứng minh phép ánh xạ 𝛿 đẳng cấu, ta lần lượt chứng minh 𝛿 là ánh xạ tuyến tính, đơn cấu và toàn cấu
Thật vậy, với 𝑠, 𝑡 ∈ 𝑈, ta có
Tiếp theo, ta có: 𝐾𝑒𝑟(𝛿) = {𝑢|𝑢 𝑚𝑜𝑑 𝑃 = 0; 𝑢 𝑚𝑜𝑑 𝑄 = 0} {𝑢|𝑢 𝑚𝑜𝑑𝑃𝑄 = 0} = {0 𝑚𝑜𝑑 𝑃𝑄} nên 𝛿 là một đơn cấu
Mặt khác, giả sử có (𝑈𝑃,𝑈𝑄) thuộc 𝐺𝐹((2 4 ) 2 )×𝐺𝐹((2 4 ) 𝑘 ) Ta cần tìm phần tử U thuộc ℛ = 𝐺𝐹(2 4 )[𝑥]/𝑃𝑄 sao cho 𝛿(U) = (𝑈𝑃, 𝑈𝑄) U chính là nghiệm của hệ phương trình đồng dư tuyến tính
Vì P và Q nguyên tố cùng nhau nên hệ này có duy nhất nghiệm theo modulo PQ Vậy 𝛿 là một toàn cấu
Đẳng cấu 𝛿 giữa 𝐺𝐹(2^4)[𝑥]/𝑃𝑄 và 𝐺𝐹((2^4)^2) × 𝐺𝐹((2^4)𝑙) cho phép xây dựng phương pháp biến đổi từ trường 𝐺𝐹((2^4)^2) sang vành ℛ = 𝐺𝐹(2^4)[𝑥]/𝑃𝑄 Định nghĩa 2.7 [26] nêu rõ phép ánh xạ 𝝆: 𝐺𝐹((2^4)^2) → ℛ thực hiện ánh xạ một giá trị bất kỳ X thuộc trường 𝐺𝐹((2^4)^2) sang các giá trị của vành ℛ 𝐺𝐹(2^4)[𝑥]/𝑃𝑄.
Với 𝑅 là đa thức ngẫu nhiên bậc ℎ nhỏ hơn 𝑙 − 2 (ℎ bit) và có hệ số thuộc trường 𝐺𝐹(2 4 )
Các đa thức 𝑃, 𝑄, 𝑅 có hệ số của phần tử bậc cao nhất bằng 1
Để chuyển đổi các giá trị từ vành ℛ 𝐺𝐹(2 4 )[𝑥]/𝑃𝑄 sang trường 𝐺𝐹((2 4 ) 2 ), ta định nghĩa phép ánh xạ 𝝆, thực hiện ánh xạ một giá trị U thuộc vành 𝐺𝐹(2 4 )[𝑥]/𝑃𝑄 sang giá trị trên trường 𝐺𝐹((2 4 ) 2 ).
Với các phép ánh xạ 𝜌 và 𝜌 − ở trên, ta rút ra hệ quả:
Hệ quả 2.6: Với các phép ánh xạ 𝜌 và 𝜌 − , ta có:
Theo các định nghĩa trên, ta có: 𝜌(𝑋) = 𝑋 + 𝑅𝑃 𝑚𝑜𝑑 𝑃𝑄, do đó 𝜌 − 𝜌(𝑋) = 𝜌 − (𝑋 + 𝑅𝑃 𝑚𝑜𝑑 𝑃𝑄)
Với phép ánh xạ 𝜌 và tính chất đẳng cấu giữa ℛ và tích đề-các 𝐺𝐹((2 4 ) 2 ) × 𝐺𝐹((2 4 ) 𝑙 ), nghiên cứu sinh đã tổng hợp và chứng minh định lý 2.2 Định lý này khẳng định rằng khi thực hiện phép ánh xạ 𝜌(𝑋) = 𝑋 + 𝑅𝑃 𝑚𝑜𝑑 𝑃𝑄, giá trị “0” trên 𝐺𝐹((2 4 ) 2 ) sẽ được ánh xạ sang ℎ + 2 giá trị ngẫu nhiên trên vành ℛ.
Phần tử “0” trên 𝐺𝐹((2 4 ) 2 ) được ánh xạ sang (2 4 ) ℎ+2, tạo ra giá trị ngẫu nhiên trên vành ℛ Do đó, khả năng loại trừ tấn công giá trị "0" trong trường hợp này sẽ tăng lên (2 4 ) ℎ+2 lần.
2.2.2.2 Các phép toán trên vành a/ Phép cộng
Giả sử ta có 2 giá trị 𝑈 và 𝑈’ trên vành ℛ như sau:
Khi đó, kết quả phép cộng: 𝑈 ′′ = (𝑋 + 𝑋 ′ ) + (𝑅 + 𝑅 ′ )𝑃 𝑚𝑜𝑑 𝑃𝑄 ∈ ℛ
Sau khi thực hiện phép ánh xạ từ vành 𝐺𝐹(2 4 )[𝑥]/𝑃𝑄 sang trường 𝐺𝐹((2 4 ) 2 ), ta được kết quả: (𝑋 + 𝑋’)(𝑚𝑜𝑑 𝑃𝑄) ≡ 𝑋 + 𝑋′ (𝑚𝑜𝑑 𝑃) là giá trị mong muốn của phép cộng trên 𝐺𝐹((2 4 ) 2 ) b/ Phép nhân
Giả sử ta có 2 giá trị 𝑈 và 𝑈’ trên vành ℛ như sau:
Khi đó, kết quả phép nhân:
Sau khi thực hiện lấy modulo của 𝑃, ta được (𝑋𝑋 ′ 𝑚𝑜𝑑 𝑃𝑄) ≡
𝑋𝑋 ′ (𝑚𝑜𝑑 𝑃) là giá trị trên trường 𝐺𝐹((2 4 ) 2 ) cần tìm c/ Phép mũ Định nghĩa 2.9: Phép ánh xạ 𝐹: ℛ → ℛ, 𝐹(𝑈) = 𝑈 𝑖
Theo tính chất của phép cộng và phép nhân ta có:
Như vậy các phép tính cộng, nhân và phép mũ trên vành ℛ sau khi thực hiện thu được giá trị đúng trên trường 𝐺𝐹((2 4 ) 2 )
Khi thực hiện phép nhúng giá trị dữ liệu từ trường 𝐺𝐹((2^4)^2) sang vành 𝐺𝐹(2^4)[𝑥]/𝑃𝑄, quá trình xử lý dữ liệu và ánh xạ ngược trở lại từ vành này sang trường 𝐺𝐹((2^4)^2) vẫn đảm bảo thu được chính xác giá trị trung gian mà thuật toán đang thực thi.
Với a là một giá trị bất kỳ thuộc trường hữu hạn 𝐺𝐹(𝑞), với 𝑞 = 𝑝 m , 𝑝 là số nguyên tố, ta có [14]:
Tiếp tục biến đổi, ta được cách tính nghịch đảo:
Cụ thể, trong đối tượng nghiên cứu của luận án, xét 𝑎 ∈ 𝐺𝐹((2 4 ) ) , lúc này có thể tính giá trị nghịch đảo như sau:
Đề xuất phương pháp chống tấn công phân tích năng lượng cho thuật toán
toán AES trên thẻ thông minh dựa trên kỹ thuật mặt nạ nhúng
2.3.1 Kỹ thuật mặt nạ nhúng
Kỹ thuật mặt nạ nhúng trường vành FREM (Field Ring Embeded
Multiplicative Mask) sử dụng mặt nạ nhân, kết hợp quá trình tính toán, biến đổi
Trong bài viết này, chúng ta sẽ khám phá các khái niệm liên quan đến trường hữu hạn và trường mở rộng, cũng như cách nhúng trường vào vành Chúng ta sẽ tìm hiểu cách xử lý trên vành và chiếu ngược lại từ vành sang trường Đặc biệt, chúng ta sẽ sử dụng phép lũy thừa để thực hiện mặt nạ cho phép nghịch đảo trong biến đổi SubBytes của thuật toán AES.
Lược đồ kỹ thuật FREM gồm 7 bước như hình 2.2
Hình 2.2 Lược đồ kỹ thuật mặt nạ nhúng 𝑭𝑹𝑬𝑴
Những biến đổi phức tạp sử dụng trong kỹ thuật FREM nhằm đạt các mục đích sau:
Kỹ thuật tính toán và biến đổi phương pháp biểu diễn dữ liệu có thể làm tăng độ phức tạp tính toán trong các cuộc tấn công phân tích năng lượng Điều này đặc biệt quan trọng khi kẻ tấn công phân tích tập giá trị giả định trên trường 𝐺𝐹(2^8).
Xử lý dữ liệu trên trường 𝐺𝐹((2 4 ) 2 ) giúp tăng tốc độ xử lý trên thiết bị có tài nguyên hạn chế Đóng góp lý thuyết này có thể được thực thi trên các thiết bị thẻ thông minh với phiên bản AES có Sbox nhỏ gọn, hoặc áp dụng cho các thẻ thông minh hỗ trợ song song, từ đó cải thiện hiệu năng cho thiết bị.
Mặt nạ nhân và các biến đổi nhúng trường vào vành giúp tăng cường độ phức tạp trong tính toán, đồng thời chiếu ngược lại từ vành sang trường để bảo vệ chống lại các tấn công giá trị “zero”.
Phép biến đổi và xử lý phép lũy thừa có thể thay thế cho phép nghịch đảo, đảm bảo rằng giá trị trung gian đang được xử lý trên vành có thể được nghịch đảo.
Các bước của FREM như sau:
Bước 1 Nhúng trường vào vành
Chuyển giá trị X trên trường 𝐺𝐹((2 4 ) 2 ) sang giá trị X +𝑅 ⊗ 𝑃 trên vành
ℛ = 𝐺𝐹(2 4 )[𝑥]/𝑃𝑄, sử dụng phép ánh xạ 𝜌: 𝐺𝐹((2 4 ) 2 ) → ℛ theo công thức:
Bước 2 Nhân với giá trị ngẫu nhiên Y
Bước 3 Cộng giá trị thu được với tích (Y ⊗𝒇(𝒎)):
Kết quả bước này đã triệt tiêu giá trị 𝑓(𝑚) Khi thực hiện biến đổi nghịch đảo thì giá trị dữ liệu được che bởi giá trị ngẫu nhiên Y
Bước 4 Biến đổi nghịch đảo Để thay thế phép nghịch đảo, FREM thực hiện biến đổi tương đương, sử dụng phép mũ 14
Bước 5 Cộng giá trị thu được với 𝒀 𝟏𝟒 ⊗ 𝒇(𝒎)
Phép tính này để đảm bảo dữ liệu tiếp tục được che với 𝑓(𝑚)
Bước 6 Nhân giá trị thu được với 𝒀
Bước 7 Chiếu ngược lại từ vành sang trường
Thực hiện chiếu ngược trở lại, chuyển giá trị từ vành ℛ = 𝐺𝐹(2 4 )[𝑥]/𝑃𝑄 sang giá trị trên trường 𝐺𝐹((2 4 ) 2 ), sử dụng phép ánh xạ 𝜌 − : ℛ → 𝐺𝐹((2 4 ) 2 ) theo công thức: 𝜌 − (𝑈) = 𝑈 𝑚𝑜𝑑 𝑃
Kết quả phép 𝜌 − là giá trị 𝑓(𝑎 −1 ) + 𝑓(𝑚)
Dữ liệu này được ánh xạ ngược trở lại thành giá trị (𝑎 −1 + m) trên trường
∈ 𝐺𝐹(2 8 ) Giá trị dữ liệu này làm đầu vào cho phép Affine trong biến đổi
SubBytes của thuật toán AES
Thuật toán FREM được tính như sau (thuật toán 1):
Phép nghịch đảo được thay thế bằng phép mũ 14, với thuật toán tính mũ thực hiện không quá log(n) bước Đối với 𝑛 = 14, chỉ cần tối đa 5 bước Thuật toán tính giá trị 𝑎 14 được mô tả cụ thể trong thuật toán 2.
2.3.2 Đề xuất phương pháp 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 dựa trên mặt nạ nhúng Để thực thi mặt nạ cho thuật toán AES -128 trên thẻ thông minh chống tấn công phân tích năng lượng, luận án tổng hợp lại các yêu cầu về mặt nạ
1/ Lược đồ mặt nạ phải che được hết các giá trị trung gian của thuật toán 2/ Lược đồ mặt nạ phải bảo tồn được các tính chất mật mã của thuật toán 3/ Các giá trị mặt nạ phải được tính toán, biến đổi trước và phải độc lập lẫn nhau
4/ Mặt nạ phải được gỡ ra trước đầu ra của thuật toán, bảo đảm cho các hoạt động mật mã tiếp theo
Để đảm bảo tính tương thích giữa các giá trị dữ liệu và hoạt động của lược đồ mặt nạ với dung lượng và thời gian thực của thiết bị thẻ thông minh, luận án đề xuất một phương pháp chống tấn công Phương pháp này dựa trên FuM và kết hợp kỹ thuật FREM cho thuật toán AES, được gọi là FuFA – Full mask FREM AES.
Các biến đổi của FuFA tương tự như các biến đổi của FuM, nhưng FuFA áp dụng kỹ thuật mặt nạ nhúng FREM thay vì sử dụng bảng mặt nạ cho hộp thế trong thuật toán AES của phương pháp FuM.
Quá trình thực hiện của phương pháp FuFA cụ thể như sau (Hình 2.3):
Hình 2.3 Sơ đồ phương pháp FuFA cho thuật toán AES – 128
Vòng cuối mặt nạ với m mặt nạ với m’ mặt nạ với m 1, m 2 , m 3 , m 4 mặt nạ với MC (m 1, m 2 , m 3 , m 4 )
AddRoundKey: Bắt đầu mỗi vòng làm việc, che bản rõ 𝑝 với các giá trị
𝑚 𝑖 ′ (𝑚 1 ′ , 𝑚 2 ′ , 𝑚 3 ′ , 𝑚 4 ′ ), che khóa k với mặt nạ (là kết quả phép XOR giữa 𝑚 𝑖 ′ và 𝑚) Biến đổi AddRoundKey thực hiện phép XOR giữa bản rõ và khóa (đều đã được mặt nạ)
Giá trị trung gian (𝑝 ⊕ 𝑘) được che mặt nạ theo công thức:
SubBytes: Giá trị trung gian đã mặt nạ (𝑝 ⊕ 𝑘) ⊕ 𝑚 được chuyển vào mô hình FREM
Giá trị trung gian lúc này là kết quả nghịch đảo của (𝑝 ⊕ 𝑘) vẫn được che với giá trị mặt nạ 𝑚 như mô hình FuM
Tiếp theo, ở phần biến đổi Affine, thực hiện mặt nạ logic tương tự FuM Giá trị trung gian lúc này được che với giá trị mặt nạ 𝑚’
Thao tác ShiftRows thực hiện hoán vị các byte trong ma trận trạng thái mà không làm ảnh hưởng đến quá trình mặt nạ Tất cả các byte trạng thái được mặt nạ với cùng một mặt nạ, do đó giá trị trung gian sau biến đổi ShiftRows vẫn giữ nguyên giá trị mặt nạ được che 𝑚’.
MixColumns: Trước MixColumns, tiến hành che bằng các mặt nạ 𝑚 𝑖 với
𝑚 1 tại hàng đầu tiên, sang 𝑚 2 tại hàng thứ 2, sang 𝑚 3 tại hàng thứ 3 và sang
𝑚 4 tại hàng thứ tư Biến đổi MixColumns thay đổi các mặt nạ 𝑚 𝑖 thành 𝑚 𝑖 ′ với 𝑖
Giá trị trung gian được che với 𝑚 𝑖 ′ và được sử dụng làm đầu vào cho các biến đổi trong các vòng tiếp theo cho đến vòng cuối cùng.
Trong vòng cuối của quá trình mã hóa, không thực hiện phép biến đổi MixColumns Tại thời điểm kết thúc, giá trị dữ liệu được bảo vệ bằng mặt nạ 𝑚’ (giá trị thu được sau bước SubBytes và ShiftRows) Đồng thời, khóa vòng cuối cũng được bảo vệ bởi mặt nạ 𝑚’ Cuối cùng, phép AddRoundKey được thực hiện.
65 ta được bản mã (không mặt nạ) Như vậy, mặt nạ đã được gỡ bỏ tại đầu ra của thuật toán để giải mã
Mặt nạ cho các khóa vòng:
Các khóa vòng được tạo ra từ khóa gốc được mặt nạ, cụ thể như sau: Các khóa vòng từ 0 đến 9 được mặt nạ với ma trận:
Khóa vòng cuối cùng, khóa thứ 10 được mặt nạ với 𝑚’ (Hình 2.3)
Phương pháp FuFA, do nghiên cứu sinh đề xuất, tương tự như phương pháp FuM nhưng khác ở bước biến đổi SubBytes Trong khi FuM sử dụng mặt nạ cho bảng S-Box, FuFA áp dụng kỹ thuật FREM kết hợp với biến đổi Affine cho quá trình này.
2.3.4 Đề xuất thuật toán AES -EM
Dựa trên phương pháp FuFA, luận án này phát triển lược đồ AES cải tiến cho thẻ thông minh nhằm chống lại tấn công phân tích năng lượng, sử dụng kỹ thuật mặt nạ nhúng FREM Lược đồ thuật toán AES với mặt nạ nhúng được gọi là AES-EM (AES-EMBEDED MASK) Thông tin chi tiết có trong thuật toán 3.
11 RoundKeys 𝑅𝐾 𝑖 ; 𝑖 = 0: 10; 𝑅𝐾 𝑖 là ma trận cỡ 4x4 và có các phần tử ∈
1 Chọn 6 mặt nạ ngẫu nhiên khác nhau: 𝑚, 𝑚′, 𝑚 1 , 𝑚 2 , 𝑚 3 , 𝑚 4
Tính các mặt nạ: 𝑚 1 ′ , 𝑚 2 ′ , 𝑚 3 ′ , 𝑚 4 ′ từ biểu thức:
So sánh lược đồ thuật toán AES-128 và thuật toán AES-EM tại Hình 2.4
Hình 2.4 So sánh AES bình thường (a) và AES-EM (b)
Quan sát hình 2.4 ta thấy trong khi AES-128 có các giá trị trung gian là
A, B, C, D, E thì thuật toán AES-EM:
- Tất cả giá trị trung gian A, B, C, D, E đều được che bởi các mặt nạ
Đánh giá an toàn và hiệu năng kỹ thuật FREM và thuật toán AES-EM
Phần này đánh giá tính an toàn, hiệu suất và khả năng áp dụng của kỹ thuật mặt nạ nhúng FREM cùng với thuật toán AES-EM trong môi trường thẻ thông minh.
Phần này của luận án tập trung vào việc đánh giá an toàn của thuật toán AES-EM Đánh giá này dựa trên kết quả an toàn của kỹ thuật mặt nạ, cũng như an toàn của các lược đồ FuM, AtM, MM, và các biến đổi toán học liên quan đến kỹ thuật mặt nạ nhúng FREM.
Mặt nạ thực hiện che giá trị trung gian của thuật toán mật mã bằng giá trị bí mật nhằm chống tấn công phân tích năng lượng An toàn của mặt nạ đã được khẳng định trong phần cơ sở lý thuyết tại mục 2.1.3 Để đánh giá an toàn của thuật toán AES-EM, luận án sẽ chứng minh rằng các bước biến đổi của kỹ thuật mặt nạ nhúng FREM đều đảm bảo an toàn.
Biến đổi SubBytes trong thuật toán AES bao gồm hai phép tính nghịch đảo và biến đổi Affine Biến đổi Affine được bảo vệ bằng mặt nạ logic, đảm bảo an toàn theo khẳng định tại Bổ đề 2.1.
2.4.1.1 An toàn của kỹ thuật mặt nạ nhúng FREM
Các bước trong kỹ thuật mặt nạ nhúng FREM bao gồm xử lý trên trường, nhúng trường vào vành, và chiếu ngược lại để xử lý trên vành Để đảm bảo an toàn cho FREM, luận án sẽ trình bày phương pháp đánh giá an toàn cho từng lớp phép biến đổi, bắt đầu với an toàn của xử lý trên trường.
Đầu tiên, an toàn trong quá trình xử lý trên trường là rất quan trọng Các quá trình biến đổi giá trị từ 𝐺𝐹(2^8) sang 𝐺𝐹(2^4) và ngược lại vẫn duy trì khả năng chống tấn công phân tích năng lượng của mặt nạ, như được đánh giá bởi Oswald và các đồng sự Do đó, có thể kết luận rằng xử lý trên trường đảm bảo an toàn Thêm vào đó, an toàn của phép nhúng trường và vành, cũng như các phép chiếu ngược và xử lý trên vành, cũng cần được xem xét kỹ lưỡng.
Lược đồ FREM áp dụng phép ánh xạ 𝜌 từ trường 𝐺𝐹((2^4)^2) sang vành ℛ = 𝐺𝐹(2^4)[𝑥]/𝑃𝑄, đồng thời thực hiện phép ánh xạ 𝜌 ngược từ vành ℛ 𝐺𝐹(2^4)[𝑥]/𝑃𝑄 trở lại giá trị trên trường 𝐺𝐹((2^4)^2) Các giá trị trung gian bao gồm (𝑓(𝑣) ⊕ 𝑓(𝑚)) và (𝑋 ⊕ 𝑅𝑃).
Các bước xử lý trên ℛ bao gồm bước 3, bước 4 và bước 5 của lược đồ FREM, với các giá trị trung gian là: (𝑋 ⊕ 𝑅𝑃), [(𝑋 ⊕ 𝑅𝑃) × 𝑌], và [𝑓(𝑣) ⊕ 𝑅𝑃) × 𝑌] Để chứng minh rằng giá trị dữ liệu 𝑓(𝑣) độc lập với các giá trị trung gian này, nghiên cứu sinh đã phát biểu và chứng minh các mệnh đề liên quan.
Mệnh đề 2.1 nêu rằng, với 𝑣, 𝑚 thuộc 𝐺𝐹(2^8), nếu 𝑣 là hằng số và 𝑚 là biến ngẫu nhiên phân bố đều trên miền giá trị của nó (𝑚 = 0, 1, …, 𝑀 − 1), thì biểu thức [𝑓(𝑣) ⊕ 𝑓(𝑚)] sẽ độc lập với giá trị trung gian 𝑓(𝑣).
𝑀 (vì 𝑓 là toàn ánh, 𝑚 là đại lượng ngẫu nhiên có phân bố đều)
Nghĩa là giá trị 𝑃(𝑓(𝑣) ⊕ 𝑓(𝑚) = 𝑘) không phụ thuộc vào 𝑎 (do đó, không phụ thuộc vào 𝑓(𝑣)), hay đại lượng ngẫu nhiên 𝑓(𝑣) ⊕ 𝑓(𝑚) độc lập với giá trị trung gian 𝑓(𝑣)
Mệnh đề 2.2: Cho 𝑣, 𝑚 ∈ 𝐺𝐹(2 8 ), ta có 𝜌(𝑋) = 𝑋 ⊕ 𝑅𝑃 độc lập với 𝑓(𝑣)
Giả sử các giá trị 𝑣, 𝑓(𝑣), 𝑅 là không ngẫu nhiên, trong khi giá trị 𝑚 là ngẫu nhiên trên 𝐺𝐹(2 8 ) Theo mệnh đề 2.1, 𝑓(𝑣) ⊕ 𝑓(𝑚) là độc lập với giá trị trung gian 𝑓(𝑎) Đặt 𝑊 = 𝑅𝑃.
Mệnh đề 2.3: Cho 𝑣, 𝑚, 𝑌 ∈ 𝐺𝐹(2 8 ) với v bất kỳ và 𝑚, 𝑌 là các đại lượng ngẫu nhiên phân bố đều Khi đó, [(𝑋 ⊕ 𝑅𝑃) × 𝑌] ] độc lập với 𝑓(𝑣) và nếu h+2