Năm 2012, Zeenat Mahmood và các cộng sự [1] đã đưa ra thuật toán xây dựng một hệ mật khóa đối xứng sử dụng khóa động và bộ sinh đồng dư tuyến tính (Linear Congruential Generator - LCG) để sinh khóa động này. Với phương pháp đề xuất, các tác giả đã giới thiệu khái niệm khóa động cùng với hệ mật khóa đối xứng. Khóa động này tương tự như khóa dùng một lần (One Time Pad – OTP). Hệ mật đề xuất có bốn vòng mã hóa và giải mã. Trong mỗi vòng, các phần khác nhau của khóa động được áp dụng làm cho việc tấn công thám mã trở nên khó khăn hơn. Có thể ứng dụng thuật toán đề xuất vào trong các hệ thống ngân hàng, giao dịch tài chính qua mạng Internet và các ứng dụng trong quân sự.
Khóa động
Hệ mã khóa động là một trong những kỹ thuật tiên tiến trong mật mã và được chia ra làm hai trường hợp: có một thông điệp lớn được chia thành nhiều thông điệp nhỏ và có nhiều thông điệp khác nhau cần được mã hóa. Trong cả hai trường hợp, mỗi thông điệp được mã hóa với sự trợ giúp của các phần khác nhau của khóa - đó là các khóa con. Những khóa con này không được chia sẻ giữa hai bên tham gia mà chỉ có một số thông tin được chia sẻ giữa các bên. Dựa trên những thông tin này, hai bên tham gia có thể sinh ra khóa động [2, 3].
Bộ sinh đồng dư tuyến tính
Trong phương pháp đề xuất, số ngẫu nhiên cho khóa động được sinh ra bằng cách sử dụng LCG. Phương pháp tuyến tính là các thuật toán được biết đến và sử dụng rộng rãi nhất để sinh ra các số ngẫu nhiên. Ưu điểm của phương pháp này là tốc độ, dễ cài đặt, tính sẵn dùng của mã khả chuyển, các tham số và các kết quả kiểm tra. LCG là một bộ sinh số ngẫu nhiên truyền thống, trong đó phải chọn số đồng dư m, một phần tử nhân α, một phần tử cộng b và một giá trị khởi tạo yo [4].
Ký hiệu bộ sinh này là LCG(m,a,b,yo)
Hệ mã dùng một lần
Ý tưởng chính của hệ mã dùng một lần là để tránh tình trạng các khóa mật mã được chia sẻ dài hạn. Nói cách khác, khi hệ mã dùng một lần thật sự ngẫu nhiên, thì nó không thể bị phá vỡ bằng cách phân tích các thông điệp liên tiếp [5]. Trong hệ mã dùng một lần, các phần đệm (pad) được chia sẻ giữa người gửi và người nhận. Để giải mã thông điệp thì phần đệm được giải mã ở phía người nhận phải bằng phần đệm được mã hóa ở phía người gửi [5]. Do đó, phần đệm phải được phân phối giữa các bên.
Trong thực tế, việc phân phối phần đệm giữa các bên qua mạng là một điểm yếu trong hệ thống mã một lần. Tương tự như các hệ thống bảo mật hiện nay, để có khóa mã đối xứng sử dụng cho việc bảo mật các thông điệp truyền thông thì một yêu cầu bắt buộc là phải thực hiện trao đổi khóa an toàn giữa các bên trước khi thông điệp được gửi đi. Thông thường, việc trao đổi khóa có thể thực hiện qua các thuật toán khóa công khai như Diffe-Hellman [6] hoặc MQV [7].
Mỗi khóa mật mã chỉ an toàn trong một khoảng thời gian nhất định. Ngoài ra, các khóa lớn hơn thường yêu cầu nhiều tài nguyên tính toán hơn, đặc biệt là trong hệ mã bất đối xứng. Trên thực tế, các khóa quá lớn có thể bị lợi dụng cho các cuộc tấn công từ chối dịch vụ, bằng cách kẻ tấn công gây quá tải cho hệ thống xử lý mật mã. Tuy nhiên, độ an toàn của các thuật toán này dựa trên các khóa được chia sẻ dài hạn lại mâu thuẫn với ý tưởng ban đầu của hệ mã dùng một lần. Việc tăng kích cỡ khóa không phải lúc nào cũng là giải pháp tốt nhất, bởi dù khóa có lớn bao nhiêu nhưng bản thân hệ mật của nó cuối cùng vẫn có thể bị phá vỡ [5].
Thuật toán đề xuất
Trong phương pháp đề xuất, mỗi thông báo chỉ được mã hóa sử dụng khóa động một lần sau khi việc giải mã khóa đó được thực hiện. Đồng thời, sau khi giải mã thông điệp xong sẽ thực hiện một hàm hủy bỏ khóa. Với mọi quá trình mã hóa, giải mã đều có một khóa mới được sinh ra, ý tưởng này dựa trên hệ mã dùng một lần. Hình 1 mô phỏng thuật toán đề xuất trên MATLAB 7.5.
Hình 1. Hệ thống đề xuất
Sinh khóa động
Khóa động trong phương pháp đề xuất, được sinh ra bằng cách sử dụng bộ LCG. Đầu vào của người dùng là một khóa văn bản IK độ dài tối thiểu của IK là 6 bit và tối đa là 14 bit. Tùy thuộc vào kích cỡ khóa văn bản mà giá trị cơ sở (yo) được xác định từ bảng cơ sở (Bảng 1). Một khóa kết hợp IBK được gắn với khóa người dùng nhập vào để tạo ra ma trận cỡ 14 x 14. Một hàm ngẫu nhiên (Fr) được sử dụng để sinh khóa động. Hàm Fr tham gia vào các thao tác ma trận khác nhau như: phép nhân, dịch chuyển, chia phần dư…, trong đó, số ngẫu nhiên yo được thêm vào ma trận cuối cùng để tạo ra khóa động.
Thuật toán 1. Thuật toán sinh khóa
Bước 1. Người dùng nhập vào khóa IK kích cỡ (α) nằm trong khoảng 6 đến 14 bit.
α = length(IK);
Bước 2. Xác định giá trị cơ sở tương ứng (yo) của α từ Bảng 1.
y0 = y0(1,α);
Bước 3. Tính khóa kết hợp IBK:
IBK= rand(1,16);
b= α + IK;
Bước 4. Tính y1 sử dụng LCG:
y1 = α * y0 + b mod m
Bước 5. Gọi hàm ngẫu nhiên Fr để sinh khóa bí mật động.
Bước 6. Thoát
Bảng 1. Bảng cơ sở
Mã MATLAB cho hàm sinh ngẫu nhiên (Fr):
Quá trình mã hóa
Phương pháp đề xuất đưa ra một lược đồ mã hóa bao gồm bốn vòng như trình bày trong Hình 2. Trong mỗi vòng, các phần khác nhau của khóa động là các khóa con được áp dụng và các thao tác như XOR, chuyển vị, dịch chuyển được thực hiện để tạo ra bản mã. Kích thước của khối bản rõ là 49 bit. Ban đầu, bản rõ có độ dài tùy ý được chia thành các khối kích cỡ 49 bit. Kích cỡ của khóa động là 196 bit (ma trận 14 x 14). Khóa động được chia thành bốn phần: DKP1(49 bit), DKP2 (49 bit), DKP3 (49 bit), DKP4 (49 bit).
Mã MATLAB của phần 'DetNB' (xác định số khối):
Phần đầu tiên của khóa động (DKP1) áp dụng cho khối đầu tiên của bản rõ, phần thứ hai (DKP2) áp dụng vào kết thúc của vòng 1. Chuỗi thao tác thực hiện gồm có: phép cộng (ADD), chuyển vị (Transpose), XOR và dịch vòng (Rotation). Thao tác dịch vòng được định nghĩa như sau: c(m) = mod ((m+3),26), vòng này sinh ra bản mã gọi là bản mã riêng vòng 1 (RPC1).
Ở vòng thứ hai, RPC1 được chia thành ba khối. Khóa động được chia thành hai phần: DKP (bao gồm 64 bit đầu tiên của khóa động) và DKL (gồm 147 bit còn lại). DKL tiếp tục được chia thành ba khối 49 bit DKL1, DKL2, DKL3. Ba phần này được áp dụng riêng rẽ trên ba khối của RPC1, thực hiện các thao tác XOR, chuyển vị, dịch chuyển, phép cộng để tạo ra bản mã riêng vòng 2 (RPC2).
Ở vòng thứ ba, RPC2 được chia thành hai khối. Sẽ sử dụng lại phần khóa động thực hiện ở vòng hai và chia thành ba phần DKF1, DKF2, DKF3. Ban đầu, DKF2 được áp dụng trên RPC2. Cuối vòng này, DKF3 được áp dụng trên RPC2. Sau vòng này thu được bản mã riêng vòng 3 (RPC3).
Cuối cùng ở vòng bốn, DKF2 và DKF3 được áp dụng trên RPC3 để tạo ra bản mã riêng vòng bốn (RPC4) là bản mã thu được. Sau đó, một ma trận ngẫu nhiên kích cỡ 5x1 được thêm vào RPC3 để tạo ra bản mã kích cỡ S + 5 bit.
Hình 2. Quá trình mã hóa
Quá trình giải mã
Giải mã là quá trình đảo ngược lại của mã hóa như mô tả trong Hình 3. Quá trình giải mã cũng gồm bốn vòng, mỗi vòng sinh ra một bản rõ riêng, sau đó được chuyển sang vòng tiếp theo để tạo ra bản rõ mong muốn.
Ở vòng đầu tiên của quá trình giải mã, bản rõ riêng vòng 1 (RPT1) được sinh ra. Tương tự, RPT2, RPT3 và RPT4 ở vòng 4 lần lượt được sinh ra. Một ma trận ngẫu nhiên kích cỡ 5 x 1 được tách ra khỏi RPT4 để tạo ra bản rõ ‘S’ bit.
Cuối cùng là ghép các khối bản rõ đã được giải mã từ khối bản mã để tạo ra bản rõ ban đầu.
Phân tích hiệu năng
Phần này mô tả sự khác nhau của kích cỡ khóa, kích cỡ khối của các hệ mật khóa đối xứng khác nhau. Thời gian thực hiện mã hóa, giải mã của các thuật toán. Nếu Bảng 2 mô tả kích cỡ khóa và kích cỡ khối, thì Bảng 3 chỉ ra thời gian thực hiện các thuật toán khác và thuật toán được đề xuất. Chức năng cốt lõi của thuật toán này là khóa được làm động, trong đó các phần khác nhau của khóa sẽ áp dụng ở các vòng khác nhau của thuật toán. Khóa bí mật đó được sử dụng chỉ cho một cặp mã hóa, giải mã, có nghĩa là khóa này chỉ sử dụng cho một lần mã hóa/giải mã. Khóa được sinh ra này được kỳ vọng là hoàn toàn ngẫu nhiên và bất định một cách tự nhiên.
Cũng như đã nêu ở trên, việc tính toán là không khả thi cho những người tấn công để đoán các khóa được sử dụng. Tuy nhiên, ưu điểm chính của thuật toán này là thời gian tính toán để mã hóa thông điệp là ít (vì chỉ có bốn vòng mã hóa). Việc mã hóa mọi thông tin nhạy cảm của thuật toán có thể chứng minh là hữu ích. Do đó, có thể ứng dụng thuật toán đề xuất vào trong hệ thống ngân hàng, giao dịch tài chính qua mạng Internet và các ứng dụng trong quân sự.
Hình 3. Quá trình giải mã
Bảng 2. So sánh kích cỡ khoá và kích cỡ khối
Bảng 3. So sánh độ phức tạp thời gian tính toán
Kết luận
Bài báo giới thiệu thuật toán mã đối xứng sử dụng khóa động và LCG để sinh khóa đã được đề xuất bởi các tác giả trong [1]. Thuật toán này chỉ ra rằng để cung cấp một mức độ bảo mật cao thì đòi hỏi rất nhiều tính toán liên quan. Theo các tác giả, phương pháp mã hóa này có thể áp dụng để mã hóa và giải mã bất kỳ loại dữ liệu nào dành cho các ứng dụng công cộng để gửi dữ liệu bí mật.
TÀI LIỆU THAM KHẢO [1]. Zeenat Mahmood, J. L Rana and Prof. Ashish khare, “Symmetric Key Cryptography using Dynamic Key and Linear Congruential Generator (LCG)”, International Journal of Computer Applications (0975 – 8887), Volume 50– No.19, July 2012. [2]. Yunpeng Zhang, Fei Zuo, Zhengjun Zhai and Cai Xiaobin, 2008, “A New Image Encryption Algorithm Based on Multiple Chaos System”, International Symposium on Electronic Commerce and Security, pp. 347-350. [3]. Xukai Zou, Yogesh Karandikar and Elisa Bertino, “A Dynamic key management solution to access hierarchy”, International Journal of Network Management 2007, pp. 437- 450. [4]. P. Hellekalek “Good random number generators are (not so) easy to find Mathematics and Computers in Simulation”, 46 (1998) 485±505. [5]. Ayushi, “A Symmetric Key Cryptographic Algorithm”, International Journal of Computer Applications (0975 8887), Volume 1 – No. 15. [6]. W. Diffie and M. E. Hellman, “New directions in cryptography”, IEEE Transactions on Information Theory, vol. 22, no. 6, pp. 644-654, 1976. [7]. L. Law, A. Menezes, M. Qu, J. Solinas, S.Vanstone, “An effcient protocol for authenticated key agreement”, Designs, Codes |
TS. Trần Thị Lượng, Học viện Kỹ thuật mật mã
14:00 | 06/02/2020
17:00 | 13/02/2020
14:00 | 16/07/2020
10:00 | 11/02/2021
17:00 | 17/12/2021
17:00 | 31/01/2020
09:00 | 01/04/2024
Trong thời đại số ngày nay, việc quản lý truy cập và chia sẻ thông tin cá nhân trên các thiết bị di động thông minh đã trở thành vấn đề đáng quan tâm đối với mọi người dùng. Việc không kiểm soát quyền truy cập và sự phổ biến của dữ liệu cá nhân có thể gây ra các rủi ro về quyền riêng tư và lạm dụng thông tin. Bài viết này sẽ giới thiệu đến độc giả về Safety Check - một tính năng mới trên iOS 16 cho phép người dùng quản lý, kiểm tra và cập nhật các quyền và thông tin được chia sẻ với người và ứng dụng khác ngay trên điện thoại của chính mình, giúp đảm bảo an toàn và bảo mật khi sử dụng ứng dụng và truy cập dữ liệu cá nhân.
08:00 | 21/12/2023
Theo số liệu của DataReportal, hiện Việt Nam đang có khoảng 49,9 triệu người sử dụng mạng xã hội TikTok, xếp thứ 6 trên 10 quốc gia có số người sử dụng TikTok nhiều nhất thế giới. Đáng chú ý là mạng xã hội này đang dần chiếm lĩnh thị trường nhờ vào những đoạn video có nội dung đa dạng mang tính "gây nghiện", thu hút mọi lứa tuổi trong đó có trẻ em. Tuy nhiên không như những mạng xã hội khác, TikTok thường xuyên bị cáo buộc việc gây ra những rủi ro nghiêm trọng về bảo mật và quyền riêng tư của người dùng. Thời gian qua đã có ít nhất 10 quốc gia cấm sử dụng ứng dụng này, trong đó có những nguyên nhân là do Tiktok gây ảnh hưởng nghiêm trọng tới suy nghĩ và hành động của trẻ em.
08:00 | 06/11/2023
Khi 5G ngày càng phổ biến và được nhiều doanh nghiệp sử dụng cho truyền tải không dây, một câu hỏi quan trọng được đặt ra đó là: “Ai chịu trách nhiệm đảm bảo bảo mật cho 5G?”. Việc triển khai 5G bảo mật bao gồm nhiều khía cạnh và trách nhiệm, nó sẽ là trách nhiệm chung của cả các nhà cung cấp dịch vụ và các doanh nghiệp triển khai.
14:00 | 14/07/2023
Tại hội thảo kỹ thuật trong Triển lãm Truyền thông Không dây Quốc tế (IWCE) 2023, Qualcom giải thích cách 5G có thể làm cho các thành phố an toàn hơn, thông minh hơn và hiệu quả hơn, đồng thời giới thiệu giải pháp 5G sidelink. Bài viết tóm tắt một số tính năng nổi trội của giải pháp này.
Những ngày gần đây, liên tục các kênh YouTube với lượng người theo dõi lớn như Mixigaming với 7,32 triệu người theo dõi của streamer nổi tiếng Phùng Thanh Độ (Độ Mixi) hay Quang Linh Vlogs - Cuộc sống ở Châu Phi với 3,83 triệu người theo dõi của YouTuber Quang Linh đã bị tin tặc tấn công và chiếm quyền kiểm soát.
10:00 | 22/04/2024
Mới đây, Cơ quan An ninh mạng và Cơ sở hạ tầng Hoa Kỳ (CISA) đã phát hành phiên bản mới của hệ thống Malware Next-Gen có khả năng tự động phân tích các tệp độc hại tiềm ẩn, địa chỉ URL đáng ngờ và truy tìm mối đe dọa an ninh mạng. Phiên bản mới này cho phép người dùng gửi các mẫu phần mềm độc hại để CISA phân tích.
13:00 | 17/04/2024