Về một thuật toán mã hóa xác thực hiệu năng cao
Tóm tắt: Trong thời đại công nghệ 4.0 đang phát triển mạnh mẽ, tội phạm mạng cũng
trở nên tinh vi hơn. Tin tặc có thể dễ dàng phá vỡ các biện pháp bảo mật và truy cập được
dữ liệu cá nhân nhạy cảm. Mặt khác, các cấu trúc mã hóa xác thực được sử dụng trong
nhiều năm qua dựa trên các thuật toán mã khối đối xứng ngày càng bộc lộ nhiều hạn chế
về hiệu năng, tốc độ xử lý do số lượng thông tin cần được xử lý và số lượng thông tin cần
xác thực ngày càng nhiều. Bài báo trình bày một thuật toán mã hóa xác thực hiệu năng
cao dựa trên thiết kế kiểu song công (duplex) với các tham số bảo mật thích hợp, sử dụng
phép hoán vị có thể sử dụng để bảo vệ thông tin với các độ mật và thông tin có các mức độ
nhạy cảm khác nhau.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Tóm tắt nội dung tài liệu: Về một thuật toán mã hóa xác thực hiệu năng cao
Công nghệ thông tin & Cơ sở toán học cho tin học 156 N. T. Nga, , N. H. Nam, “Về một thuật toán mã hóa xác thực hiệu năng cao.” Các giá trị khác nhau của tốc độ bit và dung lượng mang lại sự cân bằng giữa tốc độ và bảo mật. Tốc độ bit cao hơn cho phép mã hóa nhanh hơn nhưng kém an toàn hơn. Quan trọng là 𝑐 bit cuối cùng của trạng thái (b bit) không bao giờ bị tác động trực tiếp bởi các khối đầu vào và trong quá trình tạo ra đầu ra. Dung lượng 𝑐, tham số bảo mật quan trọng nhất, xác định mức độ bảo mật có thể đạt được của các cấu trúc. Cấu trúc song công tạo nên một object nhận một chuỗi bit đầu vào và tạo một chuỗi bit đầu ra phụ thuộc vào tất cả các đầu vào nhận được trước đó. Một dạng của cấu trúc song công (duplex object) ký hiệu là D như sau: Hình 2. Cấu trúc song công. Cấu trúc song công D có b bit trạng thái. Khi khởi tạo, tất cả các bit trạng thái được đặt về không (0). Khi đó, có thể gửi các kết nối D.duplexing(𝜎, ℓ), với 𝜎 là chuỗi bit đầu vào và ℓ xác định số lượng bit đầu ra nhất định. Số bit tối đa ℓ mà người ta có thể yêu cầu là 𝑟 và chuỗi đầu vào phải đủ ngắn để sau khi thực hiện có được một khối r-bit duy nhất đầu ra duy nhất. Cấu trúc song công có thể sử dụng để: • Mã hóa xác thực một lần • Bảo vệ an toàn khóa mã Các cuộc tấn công phân tích mã vào các cấu trúc song công có thể được chia thành hai nhóm: • Nhóm 1 là các cuộc tấn công vào tính không ngẫu nhiên, điểm yếu của hoán vị bên trong hoặc biến đổi ngẫu nhiên. Tấn công thám mã như vậy được xây dựng dựa trên các hàm (hoán vị hoặc biến đổi). • Nhóm 2 là các cuộc tấn công vào thuật toán mật mã dựa trên cấu trúc sponge hoặc cấu trúc song công. 4. THUẬT TOÁN MÃ HÓA XÁC THỰC (AE) DỰA TRÊN CẤU TRÚC SONG CÔNG Độ an toàn chứng minh được là một tính năng quan trọng của các thuật toán mật mã hiện đại. Các cấu trúc song công được [3] trình bày với các tham số an toàn thích hợp, sử dụng phép hoán vị tạo nên các thuật toán với độ an toàn chứng minh được. Thuật toán mã hóa xác thực DuplexAE trình bày trong hình 3 sử dụng cấu trúc song công và là thuật toán một lần. Sau khi khởi tạo, thuật toán tích hợp khóa bảo mật 𝐾. Từ thời điểm này, có thể ứng dụng thuật toán mã hóa xác thực để bảo mật khóa mã hoặc để mở khóa. Chuỗi các khối đã được tạo dùng để mã hóa và đánh dấu mã xác thực (𝑇) tùy thuộc vào khóa 𝐾 và dữ liệu được tạo nên trước đó. Khóa sử dụng để mã hóa không tiết lộ bất kỳ thông tin nào liên quan đến mã đánh dấu xác thực. Mã xác thực và mã thông báo xác thực không tiết lộ trình tự mã hóa, vì trình tự mã hóa được thực hiện với các đối tượng song công (duplex) khác nhau. Mã hóa xác thực là ví dụ về hàm song công được chuyển đổi thành hàm có khóa với khóa bí mật ở đầu vào của thuật toán mã hóa xác thực (AE). Hàm song công hoạt động giống như một Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 73, 06 - 2021 157 hàm ngẫu nhiên đối với bất kỳ ai không biết khóa bí mật nhưng có quyền truy cập vào hàm song công. Độ an toàn của hàm song công với khóa bí mật được trình bày trong hình 3. Hình 3. Thuật toán mã hóa xác thực dựa trên cấu trúc song công (Duplex AE). Các biểu thức toán học sau đây dùng cho thuật toán bảo vệ khóa dựa trên cấu trúc song công [3]. 𝑚𝑎𝑥 {( 𝑀2 2 + 2𝑀. 𝑁) 2−𝑐 , 𝑁. 2−|𝐾|} (1) Trong đó, tham số 𝑀 là độ phức tạp của dữ liệu được xử lý, tức là số lần gọi thuật toán khóa, tham số 𝑁 là số lần biến đổi được thực hiện bởi phép biến đổi (hoặc phép hoán vị) và |𝐾| là độ dài của khóa trong trường hợp điển hình, nếu 𝑀 ≪ 2𝑐/2 thì độ phức tạp tính toán bé hơn và bằng 𝑚𝑖𝑛 ( 2𝑐−1 𝑀 , 2|𝐾|) (2) Khóa bảo mật liên quan đến thông số dung lượng theo biểu thức sau: |𝐾| + 1 + 𝑙𝑜𝑔2𝑀 ≤ 𝑐 (3) Biểu thức trên cho thấy có thể giảm dung lượng 𝑐 (số hoán vị được sử dụng) với một mức bảo mật nhất định hoặc để đạt được độ bảo mật cao hơn với một dung lượng cố định. Biểu thức cũng cho thấy với các thuật toán trên cho phép sử dụng các thuật toán nhanh, đơn giản (nghĩa là xây dựng thuật toán sử dụng các hoán vị với số lượng nhỏ hơn), đặc biệt ứng dụng cho các thiết bị (phần cứng) có tài nguyên hạn chế. Thuật toán mã hóa xác thực một lần dựa trên cấu trúc song công đáp ứng các yêu cầu bảo mật để khôi phục khóa (xác suất khôi phục khóa 𝐾 trong 𝑁 lần thử nghiệm không lớn hơn(𝑁. 2−|𝐾|). Sử dụng cấu trúc song công rất an toàn vì khả năng giả mạo mã thông báo xác thực(2−|𝑇|)và khôi phục bản rõ (𝑁. 2−|𝐾|) rất bé. Mã hóa xác thực dựa trên cấu trúc song công mang lại những ưu điểm sau: • Thực hiện thuật toán một lần; • Chỉ yêu cầu một hoán vị hoàn hảo với độ lớn xác định không đổi; • Mã hóa xác thực cho văn bản-text (chuỗi bit) cần thiết và chỉ xác thực các văn bản yêu cầu phải xác thực; • Rất linh hoạt, vì có thể được lựa chọn độ dài của khối thông tin cần xử lý, miễn là tham số dung lượng c lớn hơn giới hạn an toàn xác định; • Độ dài mã thông báo xác thực được giới hạn ở 𝑐/2 bit, dài hơn đáng kể so với các thuật toán mã hóa xác thực (AE) dựa trên mã khối. Bảng 1 trình bày tổng hợp các thuộc tính của các lược đồ mã hóa xác thực được thực hiện dựa trên mật mã khối và thuật toán mã hóa xác thực AE dựa trên cấu trúc song công (duplex). Trong đó: độ an toàn của xác thực và độ bảo mật của thuật toán AE dựa trên thiết kế song công (duplex) Công nghệ thông tin & Cơ sở toán học cho tin học 158 N. T. Nga, , N. H. Nam, “Về một thuật toán mã hóa xác thực hiệu năng cao.” là lớn nhất. Dễ dàng lựa chọn các tham số cho thuật toán mã hóa xác thực dựa trên cấu trúc song công. Thuật toán mã hóa xác thực dựa trên cấu trúc song công có thể được sử dụng để bảo mật thông tin có độ mật cao, cũng như bảo mật thông tin với các mức độ nhạy cảm khác nhau. Bảng 1. So sánh các lược đồ mã hóa xác thực chọn lọc [15]. Thuật toán AE OCB GCM INK DuplexAE Phương thức thực hiện 1. A+E 1. E 2. A 1.A 2.E 1. A + E Độ an toàn Xác thực cực đại 2128 2128 2128 2 c/2 (2160-2512) Độ bí mật cực đại (2128-2255) (2128-2255) (2128-2255) 𝑚𝑖𝑛(2𝑐−60, 2|𝐾|) (2160-2512) Phương thức biến đổi AES AES AES Duplex r = {1152,1088,832,576} c = {448,512,768,1024} 5. BẢO MẬT KHÓA MẬT MÃ Bảo mật của khóa mật mã (Eng: Key wrapping) là một ví dụ về việc sử dụng mã hóa xác thực. Một thuật toán như vậy đảm bảo tính bí mật và toàn vẹn của dữ liệu, đặc biệt cho các khóa mật mã hoặc các dữ liệu quan trọng. Thuật toán bảo mật khóa mã có độ dài bất kỳ nhờ sử dụng một khóa cụ thể để mã hóa khóa (Eng: Key Encrypting Key - KEK). Các thuật toán này là thành phần quan trọng của hệ thống quản lý khóa [8], đảm bảo tính bí mật và tính toàn vẹn của các khóa mật mã trong suốt thời gian vận chuyển và lưu trữ. Các thuật toán bảo mật khóa được xây dựng theo các chuẩn mật mã đã được phê duyệt. Độ an toàn và độ an toàn chưa được chứng minh được trình bày trong ANSI X9.102, các thuật toán bảo vệ khóa (ví dụ: TDKW, AESKW) dựa trên mật mã khối thúc đẩy sự phát triển của thuật toán SIV (Eng. the Synthetic Initialization Vector mode), cũng dựa trên mật mã khối. Thuật toán này đã được chuẩn hóa trong RFC 5297 như một phương thức hoạt động mới của thuật toán AES. Thuật toán mã hóa xác thực dựa trên cấu trúc kiểu song công là một thuật toán bảo mật được chứng minh an toàn, không có các mối đe dọa. Ví dụ về sử dụng thuật toán mã hóa xác thực được trình bày trong hình 3 là thuật toán bảo mật khóa song công - DuplexKW được trình bày trong hình 4. Hình 4. Thuật toán đảm bảo an toàn gói khóa dựa trên cấu trúc kiểu duplex (DuplexKW). Trong thuật toán này, khóa được bảo mật có độ dài tùy ý được mã hóa bằng cách sử dụng khóa bảo vệ khóa (Eng. KEK). Nếu mỗi khóa cần bảo mật được liên kết với một số nhận dạng duy nhất thì chỉ cần thêm số nhận dạng đó vào khóa được bảo mật và sau đó mỗi khóa sẽ được mã hóa bằng một chuỗi mã khác, mặc dù sử dụng cùng một khóa bảo vệ khóa (KEK). Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 73, 06 - 2021 159 Đầu vào cho thuật toán bảo vệ khóa, được thể hiện trong hình 4, là khóa bảo vệ các khóa - 𝐾𝐸𝐾, mã định danh duy nhất của khóa 𝐻 và bản rõ (khóa cần được bảo mật) có độ dài bất kỳ. Thực hiện thuật toán DuplexKW, ta có khóa bảo mật và mã xác thực của nó 𝑇. Trong quá trình giải mã khóa, đầu vào cho thuật toán DuplexKW là khóa dùng để bảo mật các khóa - KEK, mã định danh duy nhất 𝐻 ở dạng mã hóa của khóa bảo mật trước đó và mã xác thực 𝑇. Trong quá trình giải mã, khóa được bảo mật được giải mã và kiểm tra tính toàn vẹn. Nếu mã thông báo xác thực nhận được và mã nhận dạng không khớp thì thông báo lỗi. Trường hợp ngược lại là khóa được giải mã và số nhận dạng 𝐻. Bảng 2 trình bày thuộc tính của một số lược đồ bảo mật khóa được chọn dựa trên mật mã khối và thuật toán bảo mật khóa (hình 4) được thực hiện dựa trên phép biến đổi kiểu song công (duplex). Dễ dàng nhận thấy rằng độ an toàn của xác thực chỉ dựa trên các thuật toán mã khối là chưa đủ. Bảng 2. So sánh một số thuật toán được lựa chọn đảm bảo an toàn khóa mã [15]. Thuật toán KW TDKW AESKW SIV duplexKW Độ an toàn xác thực cực đại 248 263 2128 2c/2 (2160-2512) Độ mật cực đại 2112 (2128-2255) (2128-2255) 𝑚𝑖𝑛(2𝑐−60, 2|𝐾|) c = {448,512,768,1024} Phương pháp biến đổi 3DES AES AES Duplex r = {1152,1088,832,576}, c = {448,512,768,1024} Thuật toán bảo mật khóa dựa trên cấu trúc kiểu song công có tính linh hoạt trong việc lựa chọn các tham số. Có thể xác định mức độ an toàn có thể chứng minh được bằng cách chọn các thông số thích hợp của cấu trúc song công. Thuật toán này có thể được sử dụng để bảo vệ thông tin có độ mật cao, cũng như bảo vệ thông tin khác có mức độ nhạy cảm khác nhau. 6. KẾT LUẬN Mã hóa xác thực thường được sử dụng trong các giao thức mật mã đảm bảo bí mật trong thương mại điện tử và các giao thức để bảo mật mạng không dây. Tuy nhiên, khi triển khai thực hiện các lược đồ mã hóa xác thực hiện có đòi hỏi có tốc độ thực hiện nhanh và lượng thông tin được xử lý, công suất mã hóa xác thực ngày càng cao. Vì vậy, cần có một lược đồ mã hóa xác thực mới, có thể trở thành một chuẩn, tương tự như các thuật toán AES hoặc SHA-3. Cuộc thi CAESAR (Competition for Authenticated Encryption: Security, Applicability and Robustness) cho lược đồ mã hóa xác thực đã được tổ chức bởi cộng đồng các nhà nghiên cứu mật mã (đây không phải là một cuộc thi chính thức của NIST). Ban Giám khảo cuộc thi 22 thành viên, gồm các nhà mật mã học nổi tiếng như Joan Daemen, Lars R. Knudsen, Kaisa Nyberg và Vincent Rijmen. Cuộc thi nhằm chọn ra một hoặc nhóm các thuật toán mã hóa xác thực tốt nhất và các thuật toán đủ điều kiện tham gia các giai đoạn tiếp theo của cuộc thi trên cơ sở kết quả được xem xét công khai. Không chỉ ước tính độ an toàn của các thuật toán mã hóa xác thực chống lại các cuộc tấn công thám mã mà còn phải chứng minh về độ an toàn của chúng. Các thuật toán mã hóa xác thực dựa trên cấu trúc song công với các tham số phù hợp được chứng minh là an toàn, hiệu quả. Cuộc thi CAESAR tạo nên một một sự thay thế việc xây dựng mã hóa xác thực dựa trên các thuật toán khối đối xứng. Bảo mật khóa mật mã là một ví dụ thực tế của việc sử dụng mã hóa xác thực. Các thuật toán bảo mật được xây dựng bằng cách sử dụng cấu trúc song công với các lược đồ dựa trên mật mã khối, có độ xác thực cao hơn và linh hoạt hơn trong lựa chọn các tham số biến đổi. Lời cảm ơn: Bài báo này được hỗ trợ một phần bởi đề tài cơ sở (mã số CS20.10) Viện công nghệ thông tin - Viện Hàn lâm Khoa học và Công nghệ Việt Nam. Công nghệ thông tin & Cơ sở toán học cho tin học 160 N. T. Nga, , N. H. Nam, “Về một thuật toán mã hóa xác thực hiệu năng cao.” TÀI LIỆU THAM KHẢO [1]. D. Stinson, Cryptography, “Theory and Practice”. CRC Press, LLC, 1995. [2]. M. Bellare, C. Namprempre, "Authenticated encryption: Relations among notions and analysis of thegeneńc composition paradigm, Journal of Cryptology”, vol. 21, no. 4, 2008. [3]. G. Bertoni, J. Deamen, M. Peeters, G. Van Assche, "Cryptographic sponge functions", January 2015, [4]. M.Borowski, ''The sponge construction as a source of secure cryptographic primitives", Military Cornmunication Conference, France, 2018. [5]. M.Borowski, M. Leśniewicz, R. Wicik, MGrzonkowski, "Generation of random keys for cryptographic systerns", Annales UMCS lnformatica, AIXII, 3 (2016). [6]. I. Dinur, O. Dunkelman, A Shamir, "Self differential crypt analysis ofup to 5 rounds of SHA- 3", [7]. M. Kutyłowski, WB. Strothmann, “Lý thuyết mật mã và thực hành đảm bảo an toàn các hệ thống máy tính”, Nhà xuất bản Read Me, Warsawa 1998. [8]. D. KKhovratovich, "Keywrappingwith fixedpermutation", [9]. V. Gligor, P. Donescu, "Fast encryption and authentication: XCBC encryption and XECB authentication modes", FSE 2012, LNCS 2355, Springer-V er lag, 2012. [10]. M. Duan, X. Lai, "Improved zero-sum distinguisher for full round K.eccak-fpermutation", 2012, 2012/ 023.pdf. [11]. NIST, "Special Publication 800-38D, Recornmendationfor Błock Cipher Modes of Operation:Galois/Counter Mode (GCM) and GMAC", 2009. [12]. Jovanovic P., Luykx A., Mennink B, “Beyond 2c/2 security in sponge-based authenticated encryption modes”, [13]. P. Rogaway, "Authenticated-encryption with associated-data", ACM Conference on Computer and Cornmunications Security (CCS-9), ACM Press, 2005. [14]. P. Rogaway, M. Bellare, J. Black, ''OCB: A block cipher mode of operation for efficient authenticated encryption", ACM Transactions on lnformation and System Security, 2006. [15]. R. Gliwa, “Uwierzytelnione szyfrowanie wspecjalnych sieciach telekomunikacyjnych", Rozprawadoktorska, Wojskowa Akademia Techniczna, WydziałElektroniki, 2016. ABSTRACT ABOUT A HIGH PERFORMANCE AUTHENTICATED ENCRYPTION ALGORITHM In the rapidly growing era of technology 4.0, cybercrime is also becoming more sophisticated. Hackers can easily circumvent security measures and gain access to sensitive personal data. On the other hand, the authentication cipher structures used over the years based on symmetric block ciphers have increasingly revealed many limitations in performance, processing speed due to the amount of information that needs to be processed, and the amount of information be verified increasing. The paper presents a high-performance authentication encryption algorithm based on a duplex design with appropriate security parameters using permutations that can be used to protect information with a degree of confidentiality and information that has varying degrees of sensitivity. Keywords: Encryption algorithm; Authenticated Encryption AE; Decryption; Duplex construction. Nhận bài ngày 04 tháng 02 năm 2021 Hoàn thiện ngày 10 tháng 3 năm 2021 Chấp nhận đăng ngày 10 tháng 6 năm 2021 Địa chỉ: Viện Công nghệ Thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam. *Email: thungalnt@gmail.com.
File đính kèm:
- ve_mot_thuat_toan_ma_hoa_xac_thuc_hieu_nang_cao.pdf