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

7 17 0
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

Đang tải... (xem toàn văn)

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.

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áo giới thiệu hệ mã có xác thực (ACORN, AEGIS, ASCON, CLOC MORUS), tham dự thi CAESAR (tính bí mật, khả ứng dụng tính bền vững hệ mã mật có xác thực), thực thi cài đặt đánh giá tảng Java Card Trước hết, tiến hành cài đặt hệ mã có xác thực sử dụng ngơn ngữ Java Java Card Tiếp đó, hệ mật khai thác với tài nguyên phần cứng thẻ (bảng mạch thẻ): khối đồng xử lý mật mã, nhớ RAM, nhớ EEPROM Java Card Tiếp đánh giá hệ mã có xác thực theo dung lượng nhớ hiệu suất thời gian xử lý Các kết hữu ích việc lựa chọn thuật tốn mã hóa có xác thực cho linh kiện nhúng với điều kiện ràng buộc dung lượng nhớ điện tiêu thụ Công bố hỗ trợ lựa chọn hệ mã có xác thực phù hợp với đặc tính 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 MỞ ĐẦU Trong mơi trường cơng nghệ mạng máy tính nay, tốn bảo mật thơng tin ngày trở nên cần thiết cấp bách Bảo mật thông tin thường địi hỏi đảm bảo tính bí mật xác thực Có cách tiếp cận để thực điều Cách thứ mã hóa thơng tin với thuật tốn mã khối mã dịng để đảm bảo tính bí mật sử dụng thuật tốn mã xác thực thơng báo MAC (Message Authentication Code) để thực xác thực Ví dụ, dùng mã khối AES chế độ CBC để mã thơng tin, sau dùng thuật tốn AES-CMAC (hoặc HMAC) để xác thực Cách tiếp cận tương đối dễ, tác động tới tính an tồn q trình mã hóa xác thực phân tích gần riêng biệt Cách tiếp cận thứ hai xây dựng thuật tốn mã hóa có xác thực nhằm cung cấp tính bí mật, xác thực tồn vẹn cho thông báo bước (loại bỏ khơng cần thiết thuật tốn MAC riêng biệt), cách tiếp cận có lợi hiệu suất tảng tham chiếu khác FPGA, hệ nhúng [1] Cách tiếp cận hướng khoa học mật mã Hơn nữa, trước phát triển hệ nhúng (hệ thống tích hợp phần cứng phần mềm phục vụ tốn chun dụng nhiều lĩnh vực cơng nghiệp, tự động hố điều khiển, truyền tin ) cần xây dựng thuật toán mật mã hạng nhẹ có khả cài đặt thiết bị giới hạn lượng tiêu thụ khả lưu trữ Đã có nhiều thi để tuyển chọn thuật tốn mật mã an tồn hiệu quả, thi tuyển chọn chuẩn mã hóa nâng cao AES công bố năm 1997 với chiến thắng thuộc thuật toán Rijndael (thuật toán dần thay DES sử dụng nhiều ứng dụng bảo mật thẻ ngân hàng, bảo mật mạng); tiếp đến thi eSTREAM, SHA-3 gần thi CAESAR (Competition for Authenticated Encryption: Security, Applicability, and Robustness) nhằm tuyển chọn chuẩn thuật tốn mã hóa có xác thực đảm bảo an tồn hiệu cài đặt thiết bị giới hạn tài ngun Trong thi CAESAR, nhiều thuật tốn cơng bố đánh giá trước công thám mã để xác định an tồn thuật tốn Thơng qua phép đo hiệu suất, diện tích vùng thiết kế, tốc độ điện tiêu thụ phần cứng thực thi để xác định sức mạnh thuật toán Phép đo hiệu suất giúp xác định miền ứng dụng 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 rộng hơn, kéo theo điện tiêu thụ thấp Thuật toán tối ưu tốt đảm bảo an tồn hiệu Vì lý nêu mục đích báo đưa “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” NỘI DUNG 2.1 Hệ mã có xác thực (AE – authenticated encryption) hay hệ mã có xác thực liệu liên kết (AEAD – authenticated encryption with associated data) dạng hệ mật khóa đối xứng bảo đảm tính bí mật, tính tồn vẹn, tính xác thực liệu theo bước (Hình 1) Trong đó, phép mã hóa kết hợp với khối tạo nhãn (cho phép kiểm tra tính tồn vẹn), cịn phép giải mã tiến hành kiểm tra nhãn nhận Tính bí mật bảo vệ thông tin cách chuyển đổi rõ đầu vào thành bit ngẫu nhiên độc lập, cịn tính xác thực bảo đảm tính tồn vẹn nguyên gốc liệu nhờ chế phát thay đổi liệu Đặc trưng có hệ mã có xác thực nằm chỗ cung cấp đồng thời tính bí mật tính xác thực Hình Hệ mật mã xác thực Phần lớn thuật toán xác thực sử dụng mã dòng mã khối làm sở để mã hóa liệu, đồng thời ứng dụng cấu trúc bảo tồn trạng thái mã hóa Hàm cập nhật trạng thái (có phản hồi) cấp thơng số từ vài đầu vào toàn đầu vào để tạo nhãn đảm bảo tính xác thực Nhãn xác thực cho phép phát nỗ lực giả mạo Đây ưu lược đồ kết hợp bảo đảm tính bí mật tính tồn vẹn Tuy nhiên, công thực tiễn thường tập trung nhiều vào ứng dụng giao thức (SSL/TLS), cho thấy hệ mật an toàn cần phải kết hợp 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: tin ngắn có độ dài xác định mã hóa khóa bí mật, khóa chia sẻ người gửi người nhận Ví dụ, hệ mật mã khối phổ biến AES mã hóa khối liệu 16-byte (128 bit) khóa bí mật 128-bit, 192-bit 256-bit • Mã dịng: tin có độ dài biến đổi mã hóa nhờ sử dụng khóa bí mật chia sẻ người gửi người nhận, kèm giá trị ngẫu nhiên công khai (public nonce) • Mã xác thực thơng báo (MAC): tin có độ dài thay đổi rút gọn qua khối xác thực khóa bí mật chia sẻ người gửi người nhận, kèm giá trị ngẫu nhiên công khai (public nonce) Các hàm băm mật mã SHA-3 biến thể mã khối thường sử dụng để xây dựng mã xác thực thơng báo – MAC • Mã hóa có xác thực (AE): tin có độ dài thay đổi mã hóa, xác thực cách sử dụng khóa bí mật chia sẻ người gửi người nhận, kèm theo giá trị ngẫu nhiên cơng khai (public nonce) Tạp chí Nghiên cứu KH&CN qn sự, Số 59, 02 - 2019 221 Thông tin khoa học công nghệ 2.2 Thẻ thông minh Các thẻ thông minh có nhiều tùy chọn phù hợp cho người làm cơng tác bảo mật, có phần cứng tiết diện vật lý nhỏ, vỏ cách ly độc lập Thẻ thơng minh (Hình 2a) thường chứa khối vi xử lý, đồng xử lý, nhớ (RAM EEPROM) hạn chế, cổng I/O để giao tiếp với thiết bị khác Thẻ thơng minh tích hợp đồng xử lý mật mã để mã hóa số liệu, như: AES, RSA, DH,… sức mạnh hệ mật thẻ phụ thuộc vào yếu tố lưu giữ khóa mật thực thi an tồn phép tốn mã hóa Thẻ thơng minh ứng dụng đa dạng: chip thẻ chứa khối vi xử lý với nhớ nhỏ ứng dụng rộng rãi viễn thông SIM (subscriber identity module) thẻ toán, thẻ tín dụng, thẻ y tế, thẻ xe cơng cộng… (2a) (2b) Hình Thẻ thơng minh (Java Card) Các thẻ Java Card có liên hệ mật thiết với linh kiện nhúng, đặc trưng hiệu suất xử lý thời gian thực nhớ dung lượng nhỏ Thẻ thông minh khơng chứa nguồn ni, hiển thị, bàn phím Nó tương tác với thiết bị đầu đọc thẻ qua giao tiếp truyền thông, gồm tiếp điểm điện từ quang học (Hình 2b) Các thẻ thơng minh bị ràng buộc linh kiện nhúng có khả xử lý dung lượng nhớ hạn chế Thách thức đặt thuật toán mã hóa có xác thực chỗ cần phải tối ưu hiệu suất xử lý cho thẻ thông minh, cấu trúc lập trình theo ngơn ngữ đặc tả khơng thẻ hỗ trợ đầy đủ THỰC NGHIỆM VÀ KIỂM CHỨNG KẾT QUẢ 3.1 Thực thi cài đặt Chuẩn bị phép kiểm tra để đảm bảo tính đắn thực thi Dùng file thơng báo có kích thước liệu khác nhau: 256 Bytes, 512 Bytes, KB KB làm đầu vào cho thuật toán Bằng cách so sánh đầu từ thực thi với đầu thực thi mà ta cài đặt (kiểm tra mức byte) Để đánh giá hệ mật mã xác thực, nhóm tác giả thực thi với đầu đọc USB Reader Gemalto USB [8] Java Card NXP JCOP CJ2A080 [9] Để dễ đánh giá, trước tiên thực thi nguyên thủy mã hóa AES [7] chế độ CFB (cipher feedback) với khóa 128 bit (10 vòng) làm hệ mật sở để đối chiếu với hệ mã có xác thực: ACORN [2], AEGIS [3], ASCON [4], CLOC [5] MORUS [6] 3.2 Hiệu suất xử lý Để đo thời gian mã hóa giải mã phần liệu Phép đo cho phép xác định khả xử lý thuật tốn với file liệu có kích thước khác Trên hình biểu diễn thời gian thực mã hóa giải mã theo thuật tốn mã hóa/giải mã có xác thực tương ứng 222 Đ 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ệ Hình Thời gian xử lý (a) mã hóa (b) giải mã có xác thực Dựa kết thời gian xử lý thấy AEGIS CLOC hệ mật hiệu thời gian, số thuật toán xác thực chọn, chúng khơng sử dụng phép tốn dịch bit tính tốn trước phức tạp dùng cấu trúc đơn giản để trì trạng thái mã hóa Giữa hệ mật này, AEGIS đạt kết thời gian tốt lõi dùng vịng AES (khơng cộng XOR với thành phần khóa) thực thi mảng tìm kiếm Các giá trị thu từ mảng tìm kiếm làm giảm tính tốn Java Card AEGIS nhanh Chú ý AEGIS có hiệu suất tính tốn lớn so với AES (hệ mật sở) xử lý file liệu lớn hơn; với file liệu nhỏ hơn, AEGIS phải tiền xử lý liệu liên kết (AD), điều làm chậm so với AES Dẫn đến với file kích thước liệu lớn, AEGIS nhanh AES đáng kể (bởi dùng vịng AES) Vì vậy, AEGIS CLOC phù hợp cho thiết bị di động, thẻ RFID thiết bị IoT Cũng từ Hình 3, thấy MORUS nhiều thời gian để mã hóa (ví dụ với file liệu KB, khoảng 1200 giây, tức cỡ 20 phút để mã) nên không phù hợp để sử dụng thực tiễn Nguyên nhân làm giảm hiệu suất thuật toán MORUS sử dụng q nhiều phép tốn dịch bit Các phép dịch bit có giá trị thao tác bit (xử lý hướng bit), làm giảm hiệu suất Mặc dù, tổ chức kết hợp dịch byte, sau dịch bit cần nhiều thời gian để tinh chỉnh chi tiết Song, MORUS có hiệu suất cao ASCON, ASCON dùng phép xoay bit mở rộng nên hiệu giảm mạnh Hình cho thấy, hiệu xử lý theo thời gian ACORN nhất; cấu trúc hệ mã dòng phải chuyển đổi Byte thành bits, tiếp đến thực phép dịch bit tuyến tính Khi tất byte đầu vào xử lý mức bit, hệ mã ACORN khơng phù hợp ứng dụng Java Card 3.3 Tài nguyên thực thi Hình Đối chiếu CLOC gọi AES mềm cứng Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 223 Thông tin khoa học công nghệ CLOC sử dụng hệ mật AES chuẩn mà khơng có thay đổi Do đó, cho phép đối chiếu hiệu suất CLOC dùng AES dạng phần mềm AES tích hợp đồng xử lý mật mã Java Card Hình đồng xử lý mật mã (hw-enc) tăng tốc lên cỡ 15 lần so với phép thực thi phần mềm (sw-enc), kích thước file KB thời gian xử lý với hw-en cỡ giây, với sw-enc 60 giây ( 60  15 ) Điều thúc đẩy việc xây dựng thuật toán xác thực kết hợp với xử lý mã mật * Bộ nhớ chiếm dụng Bộ nhớ Java Card bị giới hạn phải tính tốn chặt chẽ Bộ nhớ RAM nhanh 100 lần so với nhớ EEPROM, dung lượng lại nhỏ EEPROM Bộ nhớ EEPROM lại bị giới hạn số chu kỳ ghi cực đại Các lệnh ghi vào nhớ EEPROM chi phí cao lệnh đọc lại nhanh Do đó, buộc phải cân thực thi hệ mã có xác thực theo ràng buộc Java Card để đạt hiệu đặt tiết kiệm nhớ Bảng Dung lượng nhớ bị chiếm dụng theo thuật toán Hệ mật RAM (Byte) EEPROM (Byte) Kích thước hệ mật (Byte) ACORN 845 1690 5760 AEGIS 468 4176 12623 ASCON 476 190 5742 CLOC 832 1247 10149 CLOC (nhờ cứng hóa AES) 832 223 7365 MORUS 192 180 8302 Hình Quan hệ tương đối hiệu suất thời gian xử lý – vùng nhớ bị chiếm dụng thuật toán Bảng MORUS đạt hiệu nhớ tốt nhất, gắn vào linh kiện nhúng có nhớ nhỏ MORUS dùng nhớ RAM 192 Bytes để lưu trạng thái mã hóa giá trị trung gian MORUS chiếm dụng kích thước nhớ EEPROM nhỏ (180 Bytes) ASCON cho thấy hiệu vùng nhớ: 476 Bytes RAM 190 Bytes EEPROM CLOC sử dụng AES cứng hóa tiết kiệm 1024 Bytes nhớ EEPROM so với CLOC thực AES mềm Vùng nhớ EEPROM thực ACORN 1690 Bytes, nhớ RAM bị chiếm dụng cao 845 Bytes (gồm 293 Bytes bảo tồn trạng thái mã hóa) AEGIS chiếm KB nhớ EEPROM để lưu mảng tìm kiếm phục vụ vịng xử lý AES Khi mảng tìm kiếm cần đọc (chỉ ghi lần) dùng mảng nhớ EEPROM phù hợp Do đó, file thuật tốn mã 224 Đ 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ệ hóa có xác thực AEGIS cần định dạng Applet phép cài đặt Java Card Khi xử lý tái dụng số biến, kích thước file Applet giảm xuống cỡ 12 KB nạp/cài đặt AEGIS Java Card Hình mối quan hệ tương ứng hiệu suất xử lý vùng nhớ bị chiếm dụng, giúp chọn lựa thuật tốn phù hợp với kiểu thẻ thơng minh Ta thấy: hệ mật AEGIS chiếm dung lượng nhớ EEPROM lớn (Bảng 1), hệ mật nhanh nhất, giá trị h time  đạt cực đại; MORUS chiếm dụng nhớ tối thiểu với hiệu suất thời gian vừa phải; ACORN thể hiệu suất theo thời gian nhất, vùng nhớ RAM bị chiếm dụng lớn Java Card; ASCON đạt hiệu nhớ không đạt hiệu thời gian xử lý; cịn CLOC khơng hiệu nhớ lại đạt hiệu cao thời gian KẾT LUẬN Các hệ mã có xác thực đáp ứng tính bí mật tính xác thực Do đó, tương lai, hệ mã có xác thực sức kéo chủ đạo nhằm ứng dụng giải pháp mã mật vào hệ thống tài nguyên hạn chế: thẻ tín dụng, thẻ cho vay, SIM, iKey, phân hệ mạng IoT, Trong báo này, chúng tơi khảo sát hệ mã có xác thực tảng Java Card Đã khai thác thiết kế mã nguồn tham chiếu cung cấp từ nhà sáng chế thuật toán Chúng xác định ràng buộc giải thách thức cài đặt hệ mã có xác thực lên thẻ thông minh Hy vọng kết báo hữu ích người làm cơng tác bảo đảm an tồn cho hệ thống sử dụng thẻ thông minh Các hướng chủ đạo nghiên cứu tiếp, bao gồm: • Tối ưu hóa đồng xử lý AES sẵn có Java Card: thẻ thơng minh thời có đồng xử lý hỗ trợ AES Nhóm tác giả khai thác CLOC gọi đến khối đồng xử lý AES cứng hóa Tuy nhiên, hệ mã có xác thực khác chưa dùng đến AES Do đó, điều chỉnh tối ưu hay tinh chỉnh thuật toán để sử dụng đồng xử lý AES sẵn có thẻ thông minh tăng cường hiệu suất thời gian xử lý • Tối ưu hóa lệnh kiến trúc ISA: xuất số kiến trúc xử lý lệnh, ARM cung cấp lệnh xoay vòng bit chu kỳ lệnh ISA Do vậy, cải thiện lệnh xoay bit nâng cao hiệu vùng nhớ hiệu suất cho hệ mã có xác thực TÀI LIỆU THAM KHẢO [1] CAESAR: “Competition for Authenticated Encryption: Security, Applicability, and Robustness” https://competitions.cr.yp.to/caesar-submissions.html [2] Hongjun Wu “ACORN: A Lightweight Authenticated Cipher (v3)” http://competitions.cr.yp.to/round3/acornv3.pdf [3] Hongjun Wu and Bart Preneel “AEGIS: A Fast Authenticated Encryption Algorithm (v1.1)” http://competitions.cr.yp.to/round3/aegisv11.pdf [4] Christoph Dobraunig, Maria Eichlseder, Florian Mendel, and Martin Schläffer “ASCON v1.2, 2016” http://competitions.cr.yp.to/asconv12.pdf [5] Tetsu Iwata, Kazuhiko Minematsu, Jian Guo, and Sumio Morioka “CLOC: Authenticated Encryption for Short Input” In International Workshop on Fast Software Encryption, pages 149-167, 2014 [6] Hongjun Wu and Tao Huang “The Authenticated Cipher MORUS (v2), 2016” https://competitions.cr.yp.to/round3/morusv2.pdf Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 225 Thông tin khoa học công nghệ [7] Andrey Bogdanov, Martin M Lauridsen, and Elmar Tischhauser “AES-Based Authenticated Encryption Modes in Parallel HighPerformance Software” IACR Cryptology ePrint Archive https://eprint.iacr.org/2014/186.pdf [8].Gemalto “Java Card & STK Applet Development Guidelines” http://developer.gemalto.com [9].Sun Microsystems “Java Card Applet Developer’s Guide” 1998 ftp://ftp.icm.edu.pl/packages/javasoft-docs/javacard/JCADG.pdf; ABSTRACT A METHOD OF SELECTING CODE SYSTEM CONFIRMATION FOR THE SMART CARD This paper introduces five authenticated encryption (ACORN, AEGIS, ASCON, CLOC and MORUS), which were attended the CAESAR contest (security, applicability and robustness of the authenticated cipher), implemented and evaluated on the Java Card platform First, install each authenticated encryption using Java programming language based on Java Card Then these cryptosystems are exploited with the same card’s hardware resources (circuit board): cryptography co-processing unit, RAM, EEPROM memory of Java card Evaluate each of these authenticated cryptosystems according to the memory size and processing time These results are very useful in selecting encryption algorithm for embedded components with constraints on memory capacity and power consumption This research supports the selection authenticated encryption which is consistent with the characteristics of each type of smart card Keywords: Embleded system; Smart card; Authenticated encryption; ACORN; AEGIS; ASCON; CLOC; MORUS; CAESAR Nhận ngày 14 tháng 01 năm 2019 Hoàn thiện ngày 17 tháng 01 năm 2019 Chấp nhận đăng ngày 19 tháng 02 năm 2019 Địa chỉ: Học viện Kỹ thuật Mật mã – Ban Cơ yếu Chính phủ Email: chienct1102@gmail.com * 226 Đ T Thành, N Đ Công, N N Chiến, “Một phương pháp tuyển chọn … trẻ thông minh.” ... mục đích báo đưa ? ?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? ?? NỘI DUNG 2.1 Hệ mã có xác thực (AE – authenticated encryption) hay hệ mã có xác thực liệu liên kết... Các hệ mã có xác thực đáp ứng tính bí mật tính xác thực Do đó, tương lai, hệ mã có xác thực sức kéo chủ đạo nhằm ứng dụng giải pháp mã mật vào hệ thống tài nguyên hạn chế: thẻ tín dụng, thẻ cho. .. liệu có kích thước khác Trên hình biểu diễn thời gian thực mã hóa giải mã theo thuật tốn mã hóa/giải mã có xác thực tương ứng 222 Đ T Thành, N Đ Công, N N Chiến, ? ?Một phương pháp tuyển chọn …

Ngày đăng: 10/05/2021, 14:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan