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 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 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 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 cho thuật toán AES trên thẻ thông minh dựa trên kỹ thuật mặt nạ nhúng.
ĐÁ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 phương thức tấn công này yêu cầu chi phí, nguồn lực và thời gian đáng kể, nhưng tỷ lệ thành công và hiệu quả của chúng 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ý, nơi các tương tác vật lý 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ề, và các cuộc tấn công khai thác loại thông tin này được gọi là 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 pháp 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ừ quá trình xử lý và hoạt động của thiết bị đang thực hiện.
Năng lượng tiêu thụ của thiết bị mật mã có thể tiết lộ 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ụ tương ứng với các khóa giả thuyết và năng lượng thực tế đo được, từ đó suy ra khóa mã.
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ã hóa Để đối phó với nguy cơ này, nhiều nghiên cứu và giải pháp bảo vệ đã được công bố Các phương pháp chống tấn công chủ yếu dựa trên hai kỹ thuật cơ bản: ẩn (hiding) và che mặt nạ (masking).
Hiện nay, nghiên cứu về 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 nhằm biến đổi thông tin để bảo vệ bí mật, xác thực và toàn vẹn nội dung Hệ thống thông tin an toàn hiện đại áp dụng thuật toán mật mã để đảm bảo tính bảo mật và độ tin cậy của dữ liệu.
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ã, 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 trong lĩnh vực mã hóa: 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 bí mật cho cả quá trình mã hóa và giải mã, với hệ mật AES là một ví dụ điển hình AES là một loại mã khối, thực hiện mã hóa từng khối dữ liệu một cách hiệu quả.
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 cặp khóa gồm một khóa công khai và một khóa bí mật để mã hóa dữ liệu Các 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, bao gồm nhiều loại, trong đó nổi bật là RSA, Elgamal và ECC.
Thiết bị mật mã là các thiết bị điện tử thực hiện thuật toán mật mã, và người dùng cần chú trọng không chỉ vào an toàn của thuật toán mà còn toàn bộ hệ thống Để đảm bảo an toàn trong hoạt động mật mã, các thiết bị phải tuân thủ quy định và quy trình cụ thể Trong quá trình này, có khả năng xảy ra rò rỉ thông tin, tạo cơ hội cho bên tấn công (mã thám) khai thác để 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 triển khai tại những vị trí được thiết kế với chế độ bảo vệ, giúp phòng chống các cuộc tấn công kênh 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 an toàn Đây là lĩnh vực nghiên cứu chính mà các nhà khoa học đang tập trung vào, đồng thời cũng là phạm vi nghiên cứu của luận án này.
Thẻ thông minh là thiết bị điện tử tích hợp vi mạch và bộ nhớ trong, cho phép lưu trữ thông tin và dữ liệu Với ưu điểm an toàn, nhỏ gọ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é máy bay, 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ử 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 Các thuật toán như AES được ưa chuộng nhờ vào hiệu suất, tài nguyên và độ an toàn cao Tuy nhiên, thẻ thông minh có những 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 và đồng hồ.
Mặc dù thẻ thông minh sở hữu nhiều tính năng an toàn, nhưng vẫn phải đối mặt với một số loại tấn công Kẻ tấn công có thể nhắm đến các thuật toán mật mã hoặc các cơ chế bảo mật của ứng dụng mà thẻ thông minh quản lý Trong số các phương thức tấn công, tấn công kênh kề, đặc biệt là tấn công phân tích năng lượng, được xem là nguy hiểm và phổ biến nhất.
1.1.2 Tấn công phân tích năng lượng lên thiết bị mật mã
Đá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, bao gồm mặt nạ cố định FiM (Fix Mask), mặt nạ đầy đủ FuM (Full Mask), mặt nạ nhân MM (Multiplicative Mask) và mặt nạ biến đổi số học AtM (Arithmetic Transform Mask).
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 một cách hiệu quả.
Khởi đầu quá trình mặt nạ, chương trình sinh � bộ mặt nạ cố định
Chọn ngẫu nhiên một bộ giá trị từ tập hợp các giá trị của q 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 loại bỏ ở cuối lược đồ mã hóa.
Bảng dữ liệu S-box được tạo ra từ sự kết hợp giữa mặt nạ và dữ liệu, được tính toán trước và lưu trữ trong bộ nhớ cố định Mỗi mặt nạ tương ứng với một giá trị S-box, được tính theo công thức 1.4.
(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 các giá trị trung gian, là những giá trị chứa dữ liệu (không phải hằng số bí mật) cùng với một phần của khóa Trong quá trình này, các byte của giá trị trung gian sẽ được che đậy bởi các mặt nạ được chọn ngẫu nhiên từ tập hợp các giá trị mặt nạ đã được tính trước.
Việ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 sử dụng mặt nạ ngẫu nhiên để che giấu tất 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 1 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, việc này tiêu tốn 65792 bytes bộ nhớ.
Phương pháp FiM yêu cầu thời gian tính toán lâu hơn để xử lý các mặt nạ trong quá trình hoạt động của thuật toán Do đó, giải pháp này không thích hợp cho các thiết bị có tài nguyên hạn chế, chẳng hạn 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:
Mặt nạ trong biến đổi SubByte bao gồm hai thành phần: mặt nạ đầu vào và mặt nạ đầu ra Các giá trị của mặt nạ được xác định dựa trên 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ạ (� ′ , � ′ , � ′ , � ′ ) được tính từ phép toán Mixcolumns cho
Khởi đầu mỗi vòng, che bản rõ � với các giá trị � ′ (� ′ , � ′ , � ′ , � ′ ), che
� 1 2 3 4 khóa � 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.
Giá trị trung gian (� � ⊕ ) được mặt nạ theo công thức 1.8:
Trong bước biến đổi SubBytes, giá trị trung gian được che chắn bằng cách sử dụng bảng S-box, với công thức (x ⊕ m) = S(x) ⊕ m’ Sau khi thực hiện bước này, giá trị trung gian sẽ được bảo vệ bằng mặt nạ m’.
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 � ′ , � ′ , � ′ ,
Hình 1.2 Sơ đồ mặt nạ đầy đủ cho thuật toán AES-128
Trong vòng cuối của thuật toán mã hóa, không thực hiện biến đổi MixColumns Dữ liệu tại điểm kết thúc được che bằng mặt nạ, giá trị này được tạo ra từ bước SubBytes và ShiftRows của mỗi vòng Đồng thời, khóa vòng cũng được che với mặt nạ tương tự Sau khi thực hiện phép AddRoundKey cuối cùng, ta thu được bản mã mà không còn mặt nạ Do đó, mặt nạ đã được loại bỏ ở đầ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 hoạt động mã hóa Nhờ đó, FuM có khả năng chống lại các cuộc tấn công phân tích năng lượng nhằm vào thuật toán AES.
Khi phân tích sơ đồ, các phép tuyến tính của thuật toán sử dụng phép tính XOR để che các giá trị trung gian Để thực hiện mặt nạ cho tất cả các byte dữ liệu, cần 256 x 16 bytes, đảm bảo mặt nạ đầy đủ cho các vòng của thuật toán và cho lược đồ khóa Đối với phép tính phi tuyến SubBytes, cần tính mặt nạ cho bảng thế (x ⊕ y) = f(x) ⊕ y’ Việc thực thi FuM tiêu tốn 3.795 bytes ROM và 4.250 bytes RAM.
Như vậy, phương pháp FuM không phù hợp với các thiết bị có tài nguyên hạn chế như thẻ thông minh.
Ý 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, sau đó đượ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 từ trường GF(2^8) sang tính toán trên vành R = GF(2)[x]/(f), thông qua phép ánh xạ ngẫu nhiên g theo công thức: g(x) = x ⊕ f(x), trong đó f(x) là đa thức bất khả quy bậc 2 và g(x) là đa thức bất khả quy bậc k trên trường GF(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 cũng như minh chứng cho việc triển khai và đánh giá an toàn, khả thi Để hiện thực hóa ứng dụng của ý 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 biến đổi và chứng minh tính đúng đắn, an toàn và hiệu quả Ngoài ra, cần đánh giá, điều chỉnh và đề xuất mô hình phù hợp để thực thi trên các 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ề tấn công và chống tấn công phân tích năng lượng đối với thuật toán AES trên thẻ thông minh đã chỉ ra một số vấn đề quan trọng.
Tấn công phân tích năng lượng là một phương pháp tấn công hiệu quả, khai thác năng lượng thực tế khi thiết bị hoạt động mật mã Thành công của loại tấn công này phụ thuộc vào mối liên hệ giữa năng lượng mà kẻ tấn công thu được với dữ liệu mà thiết bị xử lý hoặc các hoạt động mà thiết bị thực hiện Đây là một loại tấn công kênh kề nguy hiểm, có khả năng gây ra những rủi ro lớn cho hệ thống bảo mật.
Để chống lại các cuộc tấn công, hai giải pháp cơ bản là ẩ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 việc mã thám, nhưng không hoàn toàn loại bỏ được dữ liệu phụ thuộc Ngược lại, phương pháp mặt nạ sử dụng giá trị ngẫu nhiên để che giấu 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 Điều này giúp đảm bảo an toàn và ngăn chặn hiệu quả các cuộ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.
Kết quả đánh giá cho thấy các phương pháp đề xuất đều có ưu điểm và nội dung phù hợp để chống tấn công vào thuật toán AES trên thẻ thông minh Trong đó, phương pháp mặt nạ cố định FiM và mặt nạ đầy đủ FuM thể hiện độ an toàn cao Tuy nhiên, việc cần tính toán và lưu trữ giá trị mặt nạ cố định cùng giá trị mặt nạ S-box trong bộ nhớ cố định của các phương pháp này gây áp lực lớn về tài nguyên cho thiết bị, làm cho 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à mang lại sự linh hoạt trong quá trình biến đổi Tuy nhiên, nhược điểm lớn nhất của mặt nạ nhân là không thể kháng lại các cuộc tấn công giá trị zero.
Phương pháp mặt nạ biến đổi toán học AtM cung cấp giải pháp an toàn chống lại các cuộc tấn công DPA và tấn công giá trị zero Tuy nhiên, quy trình này yêu cầu 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ạ Do đó, phương pháp này 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 đang được nghiên cứu sẽ phát triển 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ứ vào đánh giá FuM nhằm đảm bảo an toàn trước các cuộc tấn công phân tích năng lượng, nghiên cứu sinh đã ứng dụng FuM để tạo ra mặt nạ đầy đủ cho thuật toán AES Để khắc phục điểm yếu về dung lượng của FuM, giải pháp được đề xuất là xây dựng lược đồ mặt nạ nhúng thay thế cho 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 giữa trường GF(2^8) và GF(2^4)2 trong ứng dụng AtM sẽ giúp tăng cường bảo mật và giảm thiểu khó khăn cho các cuộc tấn công mô phỏng trên trường GF(2^8) Điều này không chỉ giảm độ phức tạp mà còn tiết kiệm tài nguyên trong quá trình 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 sẽ ánh xạ giá trị “0” trên trường ��(2 4 )2 lên (2 4�), tạo ra giá trị ngẫu nhiên trong vành, từ đó làm tăng độ phức tạp trong việc 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, thiết kế phương pháp mặt nạ cho AES, đề xuất thuật toán cải tiến chống phân tích năng lượng, đồng thời chứng minh tính an toàn, hiệu quả và 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 khi năng lượng tiêu thụ của thiết bị mật mã liên quan đến 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 � 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ạ cũng không phụ thuộc vào năng lượng tiêu thụ của giá trị trung gian khác Bên tấn công không thể thu thập được 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.
Mặt nạ trong thuật toán mật mã là một kỹ thuật nhằm che giấu giá trị trung gian bằng cách sử dụng một giá trị mặt nạ Theo định nghĩa, giá trị trung gian được ký hiệu là \( x \), giá trị mặt nạ là \( m \), và giá trị trung gian đã được che giấu là \( x' \) Công thức thể hiện mối quan hệ giữa các giá trị này là một phần quan trọng trong việc bảo vệ thông tin trong quá trình mã hóa.
- 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, yêu cầu điều chỉnh trong quá trình cài đặt và thực thi thuật toán Việc 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ạ là rất quan trọng 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ã cuối cùng.
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 và khởi tạo, giá trị ngẫu nhiên được sử dụng cho mặt nạ, phương pháp kết hợp mặt nạ với dữ liệu, cũng như sự thay đổi của mặt nạ để bảo vệ 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 ⨀ 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 (mặt nạ logic) hoặc phép tính số học (mặt nạ số học) Ngoài ra, nếu cả hai phép tính logic và số học được thực hiện, thì 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:
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ủaMixColumns 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ị trung gian tại đầu ra của các phép biến đổi này Mặt nạ cho thuật toán AES phải đảm bảo che cho các giá trị trung gian, là đầu ra của các phép biến đổi trên bằng 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. a b
Hình 2.1 Sơ đồ thuật toán AES bình thường (a) và khi thực thi mặt nạ (b)
Trong thuật toán AES, các giá trị trung gian như A, B, C, D, E được tạo ra từ các phép biến đổi SubBytes, ShiftRows, MixColumns và AddRoundKeys mà chưa có mặt nạ Khi áp dụng mặt nạ để bảo vệ thuật toán, các giá trị trung gian này sẽ được che phủ, dẫn đến các giá trị A’, B’, C’, D’, E’ được bảo mật 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 ⊕ �3, trong đó giá trị trung gian D được bảo vệ bởi mặt nạ �3 Giá trị trung gian này sau đó được kết hợp với khóa vòng (� ⊕ � � ⊕ 3) trong quá trình AddRoundKey.
Sau khi thực hiện biến đổi AddRoundKey, kết quả đầu ra là E ′ = E ⊕ �, trong đó giá trị trung gian E được che bởi mặt nạ � Giá trị đầu ra E ⊕ � sẽ được sử dụng làm đầu ra cho vòng tiếp theo Ở vòng cuối cùng, khóa vòng được che bởi mặt nạ � 2, kết hợp với giá trị trung gian từ biến đổi ShiftRows là C ⊕ � 2 (vòng cuối không thực hiện biến đổi MixColumns), dẫn đến 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 thu được đều phụ thuộc vào các giá trị cụ thể Việc sử dụng giá trị ngẫu nhiên từ tập hợp {0,1} để mã hóa sẽ ảnh hưởng đến bản mã.
�(� � thì các giá trị trung gian thu được sẽ được ngẫu nhiên hoá.
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ã ,
Trong mỗi cặp (�, �(� �, )), bên tấn công thu được các kết quả trung gian � 1 ( , � �), … , � � (�, �) với (1 ≤ ≤ � �) Điều này cho thấy bên tấn công có thể có nhiều giá trị trung gian khác nhau cho các cặp rõ/mã khác nhau Khi tấn công thu được � giá trị trung gian, phương pháp tấn công này đượ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ị (� �(� �, , )) không đảm bảo an toàn nếu phân bố của 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ân bố của các biến ngẫu nhiên \( X_1, \ldots, X_n \) được xác định khi các kết quả trung gian được che bởi một đại lượng ngẫu nhiên \( Y \) Trong bối cảnh này, mặt nạ hoàn thiện được định nghĩa như sau: Định nghĩa 2.1 [29]: Một hàm \( f(X, Y) \) được che bởi mặt nạ hoàn thiện bậc.
� nếu với tất cả � loạt giá trị trung gian � 1 , , � � , ta có phân bố � �,� (�) =
� � ,� ′ ′ (�) cho tất cả các cặp (� � (� �, ), ′, ′).
Khi � = 1 thì thuật toán được che bởi mặt nạ hoàn thiện bậc nhất.
Phát triển cơ sở toán học cho kỹ thuật mặt nạ nhúng
Nghiên cứu sinh sẽ phát triển phương pháp mặt nạ cho thuật toán AES trên thẻ thông minh nhằm chống lại các tấn công phân tích năng lượng, kết hợp kỹ thuật mặt nạ nhúng với các phương pháp FuM, AtM và MM Luận án sẽ đề xuất kỹ thuật mặt nạ mới và 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 biểu diễn dữ liệu qua lại giữa trường GF(2^8) và GF(2^4)^2, đồng thời xây dựng cơ sở toán học cho phép ánh xạ nhúng từ trường GF(2^4)^2 sang vành.
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 GF(2^8), tương ứng với xử lý trong kỹ thuật điện tử với bộ xử lý 8 bits, nhưng các phương pháp mặt nạ trong lĩnh vực này tiêu tốn nhiều tài nguyên, đặc biệt là mặt nạ cho phép biến đổi SubBytes Luận án này đề xuất một phương pháp biến đổi mới, biểu diễn dữ liệu và tính toán trên trường GF((2^4)^2), phù hợp với xử lý trên bộ xử lý 4 bits Phương pháp này không chỉ giúp phân tán dữ liệu và giảm thiểu số bit xử lý mà còn có thể ứng dụng để thực thi phiên bản AES nhỏ gọn, thích hợp cho các thiết bị có tài nguyên hạn chế như 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 ) →
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:
� − (� ℎ � + � � ) = ��� − (� ℎ � + � � ) = � (2.10) Các giá trị khi ánh xạ từ đa thức hai hạng tử � ℎ � + � � với � ℎ , � � ∈
�� 4 ) đến một phần tử � ∈ ��(2 8 ) được biểu diễn như sau:
Trường hữu hạn GF(2^8) có đẳng cấu với trường GF((2^4)^2), do đó, khi chuyển đổi từ GF(2^8) sang GF((2^4)^2), mỗi phần tử trong GF(2^8) tương ứng với một phần tử duy nhất trong GF((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ử được thực hiện tương tự trên đa thức \( P(2, 8) \) với bước rút gọn theo modulo \( R(x) = x^2 + \{1\} + x\{x\} \) Điều này đả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à:
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ải phươ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ết quả nghiên cứu về kỹ thuật mặt nạ nhúng đã đượ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 "Một phương pháp hiệu quả chống tấn công DPA lên AES" nêu rõ những tiến bộ trong việc bảo vệ hệ thống mã hóa AES trước các cuộc tấn công phân tích dữ liệu.
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 )�):
Dựa trên 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 lại định lý 2.1: Vành ℛ = ��(2 4 )[�] đẳng cấu với ��((2 4 )2) × ��((2 4 )�) thông qua phép ánh xạ đẳng cấu �: → � (� � , � � ) với hai tọa độ � � , � � Kết quả này được căn cứ vào những phát hiện tại tài liệu [26].
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ó
{�|� ����� = 0} = {0 ��� ��} nên � là một đơn cấu.
Mặt khác, giả sử có (��,��) thuộc ��((24)2)×��((24) � ) Ta cần tìm phần tử U thuộc ℛ = ��(24)[�]/�� 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.
Như vậy, � là một đẳng cấu từ ��(2 4 )[�]/�� vào ��((2 4 )2) ×
Để chuyển đổi từ trường \( \mathbb{F}_{2^4} \) sang vành \( \mathcal{R} = \mathbb{F}_{2^4}[x]/(f) \), ta định nghĩa phép ánh xạ \( \phi : \mathbb{F}_{2^4} \rightarrow \mathcal{R} \) thực hiện ánh xạ một giá trị bất kỳ \( X \) thuộc trường \( \mathbb{F}_{2^4} \) sang các giá trị của vành \( \mathcal{R} \).
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 Để xây dựng phương pháp biến đổi từ các giá trị trên vành ℛ(2 4 )[�]/�� sang giá trị trên trường ��((2 4 )2), ta cần phát biểu định nghĩa về phép ánh xạ Cụ thể, phép ánh xạ U thực hiện việc ánh xạ một giá trị U bất kỳ 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ó: �(�) = + � �� ���
Như vậy, với phép ánh xạ �, với tính chất đẳng cấu giữa ℛ và tích đề-các
��((2 4 )2) × ��((2 4 )�), căn cứ kết quả tại [26], nghiên cứu sinh tổng hợp, phát biểu lại và chứng minh định lý: Định lý 2.2: Khi thực hiện phép ánh xạ �(�) = + � �� ��� ��, giá trị
“0” trên ��((2 4 )2) đượ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)^(h+2) với các 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)^(h+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 từ vành này về trường ban đầu vẫn đảm bảo thu được giá trị trung gian chính xác mà thuật toán đang thực hiện.
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 Embedded Multiplicative Mask) kết hợp mặt nạ nhân và các phép toán trên trường hữu hạn, trường mở rộng, cùng với việc nhúng trường vào vành Quá trình này bao gồm việc xử lý trên vành và chiếu ngược từ vành về trường, 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 trong việc chống lại 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 cố gắng phân tích tập giá trị giả định trên trường GF(2^8) Việc áp dụng các kỹ thuật này giúp bảo vệ dữ liệu khỏi các mối đe dọa an ninh tiềm ẩn.
Xử lý dữ liệu trên trường GF((2^4)^2) giúp tăng tốc độ xử lý trên các thiết bị có tài nguyên hạn chế, đóng góp lý thuyết quan trọng cho việc thực thi trên các thẻ thông minh sử dụng phiên bản AES với Sbox nhỏ gọn Ngoài ra, phương pháp này cũng có thể áp dụng cho các thẻ thông minh hỗ trợ xử lý song song, từ đó cải thiện hiệu năng cho thiết bị.
Mặt nạ nhân là một phương pháp quan trọng giúp tăng cường độ phức tạp trong tính toán bằng cách thực hiện các biến đổi nhúng trường vào vành, đồng thời chiếu ngược lại từ vành sang trường Phương pháp này không chỉ cải thiện khả năng tính toán mà còn cung cấp biện pháp bảo vệ hiệu quả 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 �
Khử giá trị � 14 = �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 −1
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 tối đa log(n) bước Đối với � = 14, chỉ cần thực hiện không quá 5 bước Dưới đây là thuật toán tính giá trị � 14.
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.
Luận án đề xuất phương pháp chống tấn công hiệu quả cho thiết bị thẻ thông minh bằng cách kết hợp kỹ thuật FREM với thuật toán AES, thông qua phương pháp FuFA – Full mask FREM AES, nhằm đảm bảo các giá trị dữ liệu và hoạt động của lược đồ mặt nạ phù hợp với dung lượng và thời gian thực của thiết bị.
Các biến đổi của FuFA tương tự như các biến đổi của FuM, nhưng điểm khác biệt chính là FuFA áp dụng kỹ thuật mặt nạ nhúng FREM để thay thế bảng mặt nạ cho hộp thế trong thuật toán AES, trong khi FuM không sử dụng phương pháp này.
Quá trình thực hiện của phương pháp FuFA cụ thể như sau (Hình 2.3): mặt nạ với m
K 0 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 )
Hình 2.3 Sơ đồ phương pháp FuFA cho thuật toán AES – 128
AddRoundKey: Bắt đầu mỗi vòng làm việc, che bản rõ � với các giá trị
′ (� ′ , � ′ , � ′ , � ′ ), 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 trong thuật toá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ạ, đảm bảo rằng giá trị trung gian sau biến đổi ShiftRows vẫn giữ nguyên giá trị mặt nạ đã được che chắn.
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, phép biến đổi MixColumns không được thực hiện Tại thời điểm kết thúc, dữ liệu đã được bảo vệ bằng mặt nạ �’ (giá trị thu được sau các bước SubBytes và ShiftRows) Đồng thời, khóa của vòng cuối cũng được che bởi mặt nạ �’ Cuối cùng, phép AddRoundKey được thực hiện để hoàn tất quá trình mã hóa.
� � 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, được đề xuất bởi nghiên cứu sinh, tương tự như phương pháp FuM nhưng khác biệt ở bước biến đổi SubBytes Trong khi FuM áp dụng mặt nạ cho bảng S-Box, FuFA sử 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 các cuộc tấn công phân tích năng lượng bằng kỹ thuật mặt nạ nhúng FREM Lược đồ thuật toán này được gọi là AES-EM (AES-EMBEDED MASK) Chi tiết về thuật toán được trình bày 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ạ: � ′ , � ′ , � ′ , � ′ 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
Bài viết này đánh giá về an toàn, hiệu suất và tính khả thi 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 luận án này tập trung vào việc đánh giá an toàn của thuật toán AES-EM, dựa trên các kết quả phân tích kỹ thuật mặt nạ và các lược đồ FuM, AtM, MM Đồng thời, đánh giá cũng xem xét an toàn của 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 vai trò quan trọng trong việc bảo vệ giá trị trung gian của thuật toán mật mã thông qua việc sử dụng giá trị bí mật, nhằm ngăn chặn các cuộc tấn công phân tích năng lượng An toàn của phương pháp này đã được khẳng định trong phần lý thuyết tại mục 2.1.3 Để đánh giá mức độ 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 tính an toàn cần thiết.
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 tính an toàn như đã nêu trong Bổ đề 2.1.
2.4.1.1 An toàn của kỹ thuật mặt nạ nhúng FREM
Kỹ thuật mặt nạ nhúng FREM bao gồm các bước biến đổi như xử lý trên trường, nhúng trường vào vành, chiếu ngược lại và 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 từ an toàn của xử lý trên trường.
Đầu tiên, an toàn trong xử lý trên trường là rất quan trọng Các nghiên cứu cho thấy quá trình biến đổi giá trị giữa trường GF(2^8) và GF(2^4) 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 Oswald và các đồng sự chỉ ra Điều này cho thấy rằng xử lý trên trường đảm bảo an toàn Bên cạnh đó, an toàn của phép nhúng trường vành, cùng với việc chiếu ngược lại và xử lý trên vành cũng cần được xem xét kỹ lưỡng.
Lược đồ FREM sử dụng phép ánh xạ � nhúng từ trường ��((2 4 )2) sang vành ℛ = ��(2 4 )[�]/�� và phép ánh xạ � − ngược trở lại từ vành ℛ
��(2 4 )[�]/�� sang giá trị trên trường ��((2 4 )2)), các giá trị trung gian gồm: (�(�) ⊕ �(�)) và (� �� ⊕ ).
Các bước xử lý trên ℛ bao gồm bước 3, bước 4 và bước 5 trong 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: Cho �, � ∈ ��(2 8 ) Giả sử v là hằng số, � là biến ngẫu nhiên phân bố đều trên miền giá trị của nó (� = 0,1, … , � − 1) khi đó [�(�)
�(� độ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 �(�).
8), ta có � ) ( �= ⊕ � �� độc lập với �(�).
Giả sử các giá trị \( x, y(t), z \) không ngẫu nhiên, chỉ có giá trị \( y \) là giá trị ngẫu nhiên trên \( \mathbb{R}^2(2,8) \) Theo mệnh đề 2.1, \( y(t) \oplus z(t) \) độc lập với giá trị trung gian \( x(t) \) Đặt \( z = 0 \), ta có \( P(y(t) \oplus z(t) | x(t) = a) = P(y(t) \oplus z(t) = -b | x(t) = a) \).
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