Một phương pháp tuyển chọn hệ mã có xác thực hạng nhẹ dùng cho thẻ thông minh
Số trang: 7
Loại file: pdf
Dung lượng: 482.20 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trong bài viết này giới thiệu 5 hệ mã có xác thực (ACORN, AEGIS, ASCON, CLOC và MORUS), tham dự cuộc thi CAESAR (tính bí mật, khả năng ứng dụng và tính bền vững của hệ mã mật có xác thực), thực thi cài đặt và đánh giá trên nền tảng Java Card. Trước hết, tiến hành cài đặt từng hệ mã có xác thực sử dụng ngôn ngữ Java trên nền Java Card.
Nội dung trích xuất từ tài liệu:
Một phương pháp tuyển chọn hệ mã có xác thực hạng nhẹ dùng cho thẻ thông minh Thông tin khoa học công nghệ MỘT PHƯƠNG PHÁP TUYỂN CHỌN HỆ MÃ CÓ XÁC THỰC HẠNG NHẸ DÙNG CHO THẺ THÔNG MINH Đinh Tiến Thành, Nguyễn Đức Công, Nguyễn Như Chiến* Tóm tắt: Trong bài báo này giới thiệu 5 hệ mã có xác thực (ACORN, AEGIS, ASCON, CLOC và MORUS), tham dự cuộc thi CAESAR (tính bí mật, khả năng ứng dụng và tính bền vững của hệ mã mật có xác thực), thực thi cài đặt và đánh giá trên nền tảng Java Card. Trước hết, tiến hành cài đặt từng hệ mã có xác thực sử dụng ngôn ngữ Java trên nền Java Card. Tiếp đó, các hệ mật này được khai thác cùng với các tài nguyên phần cứng của thẻ (bảng mạch trên thẻ): khối đồng xử lý mật mã, bộ nhớ RAM, bộ nhớ EEPROM của Java Card. Tiếp đó đánh giá từng hệ mã có xác thực này theo dung lượng bộ nhớ và hiệu suất thời gian xử lý. Các kết quả này sẽ rất hữu ích trong việc lựa chọn thuật toán mã hóa có xác thực cho các linh kiện nhúng với điều kiện ràng buộc về dung lượng bộ nhớ và điện năng tiêu thụ. Công bố này hỗ trợ lựa chọn hệ mã có xác thực phù hợp với đặc tính của từng kiểu thẻ thông minh. Từ khóa: Hệ thống nhúng; Thẻ thông minh; Hệ mã có xác thực; ACORN; AEGIS; ASCON; CLOC; MORUS; CAESAR. 1. MỞ ĐẦU Trong môi trường công nghệ mạng máy tính hiện nay, bài toán bảo mật thông tin ngày càng trở nên cần thiết và cấp bách. Bảo mật thông tin thường đòi hỏi đảm bảo cả tính bí mật và xác thực. Có 2 cách tiếp cận để thực hiện điều này. Cách thứ nhất là mã hóa thông tin với các thuật toán mã khối hoặc mã dòng để đảm bảo tính bí mật và sử dụng các thuật toán mã xác thực thông báo MAC (Message Authentication Code) để thực hiện xác thực. Ví dụ, có thể dùng mã khối AES ở chế độ CBC để mã thông tin, sau đó dùng thuật toán AES-CMAC (hoặc HMAC) để xác thực. Cách tiếp cận này tương đối dễ, tác động tới tính an toàn vì quá trình mã hóa và xác thực có thể được phân tích gần như riêng biệt. Cách tiếp cận thứ hai là xây dựng các thuật toán mã hóa có xác thực nhằm cung cấp tính bí mật, xác thực và toàn vẹn cho thông báo trong một bước duy nhất (loại bỏ sự không cần thiết của một thuật toán MAC riêng biệt), cách tiếp cận này có lợi về hiệu suất trên các nền tảng tham chiếu khác nhau như FPGA, các hệ nhúng [1]. Cách tiếp cận này đang là hướng đi mới trong khoa học mật mã. Hơn nữa, trước sự phát triển của các hệ nhúng (hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, truyền tin...) thì cũng cần xây dựng các thuật toán mật mã hạng nhẹ có khả năng cài đặt trên các thiết bị giới hạn năng lượng tiêu thụ và khả năng lưu trữ. Đã có nhiều cuộc thi để tuyển chọn các thuật toán mật mã an toàn và hiệu quả, như cuộc thi tuyển chọn chuẩn mã hóa nâng cao AES được công bố năm 1997 với chiến thắng thuộc về thuật toán Rijndael (thuật toán này đã dần thay thế DES và được sử dụng trong nhiều ứng dụng bảo mật như thẻ ngân hàng, bảo mật mạng); tiếp đến là các cuộc thi eSTREAM, SHA-3 và gần đây nhất là cuộc thi CAESAR (Competition for Authenticated Encryption: Security, Applicability, and Robustness) nhằm tuyển chọn chuẩn thuật toán mã hóa có xác thực đảm bảo an toàn và hiệu quả khi cài đặt trên các thiết bị giới hạn về tài nguyên. Trong cuộc thi CAESAR, nhiều thuật toán công bố đã được đánh giá trước các tấn công thám mã để xác định sự an toàn của thuật toán. Thông qua các phép đo hiệu suất, diện tích vùng thiết kế, tốc độ và điện năng tiêu thụ của phần cứng thực thi để xác định sức mạnh của từng thuật toán. Phép đo hiệu suất giúp xác định miền ứng dụng của thuật toán. 220 Đ. T. Thành, N. Đ. Công, N. N. Chiến, “Một phương pháp tuyển chọn … trẻ thông minh.” Thông tin khoa học công nghệ Tài nguyên phần cứng thấp cho phép dùng chip nhỏ hơn, đồng thời miền ứng dụng sẽ rộng hơn, kéo theo đó là điện năng tiêu thụ thấp hơn. Thuật toán tối ưu tốt sẽ đảm bảo được sự an toàn và hiệu quả. Vì những lý do nêu trên mục đích của bài báo này là đưa ra “một phương pháp tuyển chọn hệ mã có xác thực hạng nhẹ dùng cho thẻ thông minh”. 2. NỘI DUNG 2.1. Hệ mã có xác thực (AE – authenticated encryption) hay hệ mã có xác thực dữ liệu liên kết (AEAD – authenticated encryption with associated data) là một dạng của hệ mật khóa đối xứng bảo đảm tính bí mật, tính toàn vẹn, và tính xác thực dữ liệu theo từng bước (Hình 1). Trong đó, phép mã hóa sẽ được kết hợp với khối tạo nhãn (cho phép kiểm tra tính toàn vẹn), còn ở phép giải mã sẽ tiến hành kiểm tra nhãn nhận được. Tính bí mật bảo vệ thông tin bằng cách chuyển đổi bản rõ đầu vào thành các bit ngẫu nhiên độc lập, còn tính xác thực bảo đảm tính toàn vẹn và nguyên gốc của dữ liệu nhờ cơ chế phát hiện sự thay đổi bất kỳ của dữ liệu. Đặc trưng duy nhất chỉ có ở hệ mã có xác thực nằm ở chỗ nó cung cấp đồng thời cả tính bí mật và tính xác thực. Hình 1. Hệ mật mã xác thực. Phần lớn các thuật toán xác thực sử dụng mã dòng hoặc mã khối làm cơ sở để mã hóa dữ liệu, đồng thời ứng dụng cấu trúc bảo toàn trạng thái mã hóa. Hàm cập nhật trạng thái (có phản hồi) được cấp thông số từ một vài đầu vào hoặc toàn bộ đầu vào để tạo nhãn đảm bảo tính xác thực. Nhãn xác thực này cho phép phát hiện các nỗ lực giả mạo. Đây chính là ưu thế của lược đồ kết hợp bảo đảm cả tính bí mật và cả tính toàn vẹn. Tuy nhiên, các tấn công thực tiễn thường tập trung nhiều vào các ứng dụng và giao thức (SSL/TLS), cho thấy hệ mật an toàn cần phải kết hợp cả chế độ bảo mật với chế độ xác thực. Các hệ mật sử dụng khóa bí mật như: • Mã khối: bản tin ngắn có độ dài xác định được mã hóa bằng khóa bí mật, khóa này được chia sẻ giữa người gửi và người nhận. Ví dụ, hệ mật mã khối phổ biến là AES mã hóa từng khối dữ liệu 16-byte (128 bit) bằng khóa bí mật 128-bit, 192-bit hoặc 256-bit. • Mã dòng: bản tin có ...
Nội dung trích xuất từ tài liệu:
Một phương pháp tuyển chọn hệ mã có xác thực hạng nhẹ dùng cho thẻ thông minh Thông tin khoa học công nghệ MỘT PHƯƠNG PHÁP TUYỂN CHỌN HỆ MÃ CÓ XÁC THỰC HẠNG NHẸ DÙNG CHO THẺ THÔNG MINH Đinh Tiến Thành, Nguyễn Đức Công, Nguyễn Như Chiến* Tóm tắt: Trong bài báo này giới thiệu 5 hệ mã có xác thực (ACORN, AEGIS, ASCON, CLOC và MORUS), tham dự cuộc thi CAESAR (tính bí mật, khả năng ứng dụng và tính bền vững của hệ mã mật có xác thực), thực thi cài đặt và đánh giá trên nền tảng Java Card. Trước hết, tiến hành cài đặt từng hệ mã có xác thực sử dụng ngôn ngữ Java trên nền Java Card. Tiếp đó, các hệ mật này được khai thác cùng với các tài nguyên phần cứng của thẻ (bảng mạch trên thẻ): khối đồng xử lý mật mã, bộ nhớ RAM, bộ nhớ EEPROM của Java Card. Tiếp đó đánh giá từng hệ mã có xác thực này theo dung lượng bộ nhớ và hiệu suất thời gian xử lý. Các kết quả này sẽ rất hữu ích trong việc lựa chọn thuật toán mã hóa có xác thực cho các linh kiện nhúng với điều kiện ràng buộc về dung lượng bộ nhớ và điện năng tiêu thụ. Công bố này hỗ trợ lựa chọn hệ mã có xác thực phù hợp với đặc tính của từng kiểu thẻ thông minh. Từ khóa: Hệ thống nhúng; Thẻ thông minh; Hệ mã có xác thực; ACORN; AEGIS; ASCON; CLOC; MORUS; CAESAR. 1. MỞ ĐẦU Trong môi trường công nghệ mạng máy tính hiện nay, bài toán bảo mật thông tin ngày càng trở nên cần thiết và cấp bách. Bảo mật thông tin thường đòi hỏi đảm bảo cả tính bí mật và xác thực. Có 2 cách tiếp cận để thực hiện điều này. Cách thứ nhất là mã hóa thông tin với các thuật toán mã khối hoặc mã dòng để đảm bảo tính bí mật và sử dụng các thuật toán mã xác thực thông báo MAC (Message Authentication Code) để thực hiện xác thực. Ví dụ, có thể dùng mã khối AES ở chế độ CBC để mã thông tin, sau đó dùng thuật toán AES-CMAC (hoặc HMAC) để xác thực. Cách tiếp cận này tương đối dễ, tác động tới tính an toàn vì quá trình mã hóa và xác thực có thể được phân tích gần như riêng biệt. Cách tiếp cận thứ hai là xây dựng các thuật toán mã hóa có xác thực nhằm cung cấp tính bí mật, xác thực và toàn vẹn cho thông báo trong một bước duy nhất (loại bỏ sự không cần thiết của một thuật toán MAC riêng biệt), cách tiếp cận này có lợi về hiệu suất trên các nền tảng tham chiếu khác nhau như FPGA, các hệ nhúng [1]. Cách tiếp cận này đang là hướng đi mới trong khoa học mật mã. Hơn nữa, trước sự phát triển của các hệ nhúng (hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, truyền tin...) thì cũng cần xây dựng các thuật toán mật mã hạng nhẹ có khả năng cài đặt trên các thiết bị giới hạn năng lượng tiêu thụ và khả năng lưu trữ. Đã có nhiều cuộc thi để tuyển chọn các thuật toán mật mã an toàn và hiệu quả, như cuộc thi tuyển chọn chuẩn mã hóa nâng cao AES được công bố năm 1997 với chiến thắng thuộc về thuật toán Rijndael (thuật toán này đã dần thay thế DES và được sử dụng trong nhiều ứng dụng bảo mật như thẻ ngân hàng, bảo mật mạng); tiếp đến là các cuộc thi eSTREAM, SHA-3 và gần đây nhất là cuộc thi CAESAR (Competition for Authenticated Encryption: Security, Applicability, and Robustness) nhằm tuyển chọn chuẩn thuật toán mã hóa có xác thực đảm bảo an toàn và hiệu quả khi cài đặt trên các thiết bị giới hạn về tài nguyên. Trong cuộc thi CAESAR, nhiều thuật toán công bố đã được đánh giá trước các tấn công thám mã để xác định sự an toàn của thuật toán. Thông qua các phép đo hiệu suất, diện tích vùng thiết kế, tốc độ và điện năng tiêu thụ của phần cứng thực thi để xác định sức mạnh của từng thuật toán. Phép đo hiệu suất giúp xác định miền ứng dụng của thuật toán. 220 Đ. T. Thành, N. Đ. Công, N. N. Chiến, “Một phương pháp tuyển chọn … trẻ thông minh.” Thông tin khoa học công nghệ Tài nguyên phần cứng thấp cho phép dùng chip nhỏ hơn, đồng thời miền ứng dụng sẽ rộng hơn, kéo theo đó là điện năng tiêu thụ thấp hơn. Thuật toán tối ưu tốt sẽ đảm bảo được sự an toàn và hiệu quả. Vì những lý do nêu trên mục đích của bài báo này là đưa ra “một phương pháp tuyển chọn hệ mã có xác thực hạng nhẹ dùng cho thẻ thông minh”. 2. NỘI DUNG 2.1. Hệ mã có xác thực (AE – authenticated encryption) hay hệ mã có xác thực dữ liệu liên kết (AEAD – authenticated encryption with associated data) là một dạng của hệ mật khóa đối xứng bảo đảm tính bí mật, tính toàn vẹn, và tính xác thực dữ liệu theo từng bước (Hình 1). Trong đó, phép mã hóa sẽ được kết hợp với khối tạo nhãn (cho phép kiểm tra tính toàn vẹn), còn ở phép giải mã sẽ tiến hành kiểm tra nhãn nhận được. Tính bí mật bảo vệ thông tin bằng cách chuyển đổi bản rõ đầu vào thành các bit ngẫu nhiên độc lập, còn tính xác thực bảo đảm tính toàn vẹn và nguyên gốc của dữ liệu nhờ cơ chế phát hiện sự thay đổi bất kỳ của dữ liệu. Đặc trưng duy nhất chỉ có ở hệ mã có xác thực nằm ở chỗ nó cung cấp đồng thời cả tính bí mật và tính xác thực. Hình 1. Hệ mật mã xác thực. Phần lớn các thuật toán xác thực sử dụng mã dòng hoặc mã khối làm cơ sở để mã hóa dữ liệu, đồng thời ứng dụng cấu trúc bảo toàn trạng thái mã hóa. Hàm cập nhật trạng thái (có phản hồi) được cấp thông số từ một vài đầu vào hoặc toàn bộ đầu vào để tạo nhãn đảm bảo tính xác thực. Nhãn xác thực này cho phép phát hiện các nỗ lực giả mạo. Đây chính là ưu thế của lược đồ kết hợp bảo đảm cả tính bí mật và cả tính toàn vẹn. Tuy nhiên, các tấn công thực tiễn thường tập trung nhiều vào các ứng dụng và giao thức (SSL/TLS), cho thấy hệ mật an toàn cần phải kết hợp cả chế độ bảo mật với chế độ xác thực. Các hệ mật sử dụng khóa bí mật như: • Mã khối: bản tin ngắn có độ dài xác định được mã hóa bằng khóa bí mật, khóa này được chia sẻ giữa người gửi và người nhận. Ví dụ, hệ mật mã khối phổ biến là AES mã hóa từng khối dữ liệu 16-byte (128 bit) bằng khóa bí mật 128-bit, 192-bit hoặc 256-bit. • Mã dòng: bản tin có ...
Tìm kiếm theo từ khóa liên quan:
Hệ thống nhúng Thẻ thông minh Hệ mã có xác thực Nền tảng Java Card Ngôn ngữ JavaGợi ý tài liệu liên quan:
-
Bài toán phân luồng giao thông và ứng dụng
11 trang 179 1 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 135 0 0 -
26 trang 112 0 0
-
Báo cáo môn học: Xây dựng ứng dụng game Fun Math trên android
35 trang 57 0 0 -
7 trang 51 0 0
-
Báo cáo nghiên cứu khoa học cấp trường: Thiết kế hệ thống nhúng cho thiết bị nội soi nha khoa
37 trang 46 0 0 -
Đồ án môn học Hệ thống nhúng - Đề tài: Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanh
60 trang 35 0 0 -
153 trang 33 0 0
-
Xây dựng hệ thống nhúng (phần 2)
114 trang 32 0 0 -
Xây dựng hệ thống nhúng (phần 3)
58 trang 30 0 0