1. Về mã khối
Các mã khối hiện đại đều tuân thủ hai nguyên lý thiết kế, đó là nguyên lý xáo trộn (confusion) và nguyên lý khuếch tán (diffusion). Hai nguyên lý này nhằm làm cho quá trình tìm kiếm mối quan hệ thống kê giữa bản gốc và bản mã trở nên “không thể”. Bên cạnh tầng phi tuyến, tầng khuếch tán đóng một vai trò quan trọng đối với độ an toàn của mã khối.
Mã khối có hai cấu trúc chính là cấu trúc Feistel và SPN (Substitution Permutation Networks), mỗi vòng của cấu trúc SPN gồm một tầng khuếch tán, tầng thay thế và tầng cộng khóa. Tầng khuếch tán đảm bảo rằng, sau một số vòng nhất định thì tất cả các bit đầu ra đều phụ thuộc vào tất cả các bit đầu vào, trong khi tầng thay thế hay tầng phi tuyến đảm bảo sự phụ thuộc này có tính chất phức tạp và phi tuyến. Hầu hết các tầng khuếch tán là các biến đổi tuyến tính có biểu diễn dạng ma trận trên GF(2m) hoặc GF(2).
Một biến đổi tuyến tính cung cấp sự khuếch tán nhằm đáp ứng độ an toàn cho hàm vòng của một mã khối bằng cách xáo trộn các bit của khối đầu vào có kích cỡ cố định để tạo ra khối đầu ra tương ứng có cùng kích cỡ [3].
Nhiều mã khối sử dụng mã tách có khoảng cách cực đại (Maximum Distance Separable - MDS) và mã tuyến tính nhị phân khoảng cách cực đại (Maximum Distance Binary Linear - MDBL) cho tầng khuếch tán của chúng. Chẳng hạn, một số mã nổi tiếng như AES và Khazad sử dụng các mã MDS, Camellia và ARIA sử dụng các mã MDBL. Các tầng khuếch tán của các mã khối này được chỉ ra trong bảng dưới đây.
2. Các phương pháp đo độ khuếch tán của mã khối hiện nay
Ảnh hưởng thác đổ [2]
Sau năm 2000, dự án NESSIE (sau khi NIST tuyển chọn xong AES) đã đưa ra tiêu chuẩn về mức độ ảnh hưởng thác đổ (The avalanche effect - AC) để đánh giá các mã khối. Dự án NESSIE đánh giá thống kê mã khối, trong đó kiểm tra mức độ của tiêu chuẩn AC, ký hiệu là da.
Xét vectơ:
và vectơ:
đạt được bằng cách lấy phần bù bit thứ i của vectơ x (với i = 1, ..., n).
- Hàm thỏa mãn tiêu chuẩn AC:
Hàm f: (GF(2))n -> (GF(2))m được gọi là thỏa mãn tiêu chuẩn ảnh hưởng thác đổ nếu trung bình có ½ các bit ra thay đổi mỗi khi một bit vào đơn được thay đổi hay:
Trọng số Hamming w(x) của x là số các thành phần khác 0 của vectơ x.
Ảnh hưởng thác đổ chặt [2]
Dự án NESSIE cũng đã đưa ra tiêu chuẩn về mức độ ảnh hưởng thác đổ chặt (The strict avalanche effect - SAC) để đánh giá các mã khối. Dự án NESSIE đánh giá thống kê mã khối, trong đó kiểm tra mức độ của tiêu chuẩn SAC, ký hiệu là dsa.
- Hàm thỏa mãn tiêu chuẩn SAC:
Hàm f: (GF(2))n -> (GF(2))m được gọi là thoả mãn tiêu chuẩn SAC nếu mỗi bit ra thay đổi với xác suất 1/2 mỗi khi một bit vào (đơn) được thay đổi, hay với mọi i = 1, ..., n và j = 1 , ..., m, ta có:
Thuộc tính đầy đủ [2]
Thuộc tính này là thuộc tính mong muốn của mỗi thuật toán mã hóa. Giả thuyết rằng, nếu chỉ có một vài bit đầu ra phụ thuộc vào một bit đầu vào, thì bằng cách quan sát một số lượng đáng kể của các cặp đầu ra, đầu vào, người thám mã có thể phát hiện được mối quan hệ thống kê và sử dụng thông tin này để tìm được khóa. Dự án NESSIE đã đưa ra tiêu chuẩn về mức độ của thuộc tính đầy đủ (the completeness property), ký hiệu là dc.
- Hàm thỏa mãn tiêu chuẩn về thuộc tính đầy đủ:
Hàm f: (GF(2))n -> (GF(2))m của n bit vào và m bit ra được gọi là thỏa mãn thuộc tính đầy đủ nếu mỗi bit ra phụ thuộc vào một bit vào, hay với mọi i = 1 ÷ n và j = 1 ÷ n ta được bit ra thứ j phụ thuộc vào bit vào thứ i tức là: tồn tại
sao cho (f(xi))j ≠ (f(x))j, ở đây có nghĩa là tồn tại vectơ
sao cho khi thay đổi bit vào thứ i thì sẽ làm thay đổi bit ra thứ j.
Số nhánh của biến đổi tuyến tính [1]
Số nhánh (branch number) của một biến đổi tuyến tính L được ký hiệu là B(L), là số tối thiểu của hộp S hoạt động trong hai vòng liên tiếp bất kỳ của một mã khối có cấu trúc SPN. Trong đó, một hộp S song ánh được gọi là hoạt động nếu cả hai đầu vào và đầu ra của nó đều khác 0 trong một đặc trưng tuyến tính hoặc lượng sai.
Số nhánh được tính như sau:
Giả sử: Z=(Z0, Z1,...,Zm-1) là một khối gồm mb bit được tạo thành bằng cách kết hợp m từ, mỗi từ gồm b bit.
Giả sử
ký hiệu vectơ nhị phân độ dài m. Trong đó
nếu Zi ≠ 0 và =0 nếu Zi=0
Giả sử
định nghĩa trọng số Hamming, Số nhánh của L được ký hiệu bởi B(L) được mô tả như sau:
Trong đó B(L) ≤ m+1.
Số nhánh B(L) là tối ưu nếu B(L)=m+1, mã tuyến tính được gắn với L sẽ có khoảng cách tối thiểu cực đại. Trong thực tế, để đạt được mã tuyến tính có khoảng cách tối thiểu cực đại, người ta xây dựng các mã MDS.
Điểm bất động trong biến đổi tuyến tính [1]
Xét các giá trị b-bit như là các phần tử thuộc trường F2b và ký hiệu S là tập tất cả các vectơ trong F2b với độ dài là:
Định nghĩa
là ma trận không suy biến với các phần tử thuộc F2q, là ma trận biểu diễn của một biến đổi tuyến tính L trên các phần tử của S. Trường F2q là tập con của F2b. Biến đổi tuyến tính L ánh xạ một phần tử
tới một phần tử
Với X = AZ được biểu diễn như sau:
Trong đó
Giả sử
biểu diễn ma trận cỡ m×m dựa trên ma trận đơn vị
Trong đó, I(0) = I. Các phần tử của ma trận I(l) được xác định bởi tham số dịch vòng
trong đó
Chẳng hạn, ma trận I(1) và I(2) với m=4 được biểu diễn như sau:
Tập tất cả các điểm bất động của một biến đổi tuyến tính L được biểu diễn bởi một ma trận không suy biến A, có thể thu được bằng cách giải phương trình sau:
Với l=0, phương trình trên trở thành (A – I) Z =0. Nghiệm của phương trình này chính là các khối đầu vào mà khi đi qua biến đổi tuyến tính L sẽ cho khối đầu ra không thay đổi (bằng chính nó).
Với l>0, nghiệm của phương trình trên chính là tập các khối đầu vào thỏa mãn: khi đi qua biến đổi tuyến tính L ta chỉ cần quay vòng lb bit sang trái của khối đầu vào đó thì có thể thu được khối đầu ra. Giả sử ^Z biểu diễn các khối đầu vào thỏa mãn phương trình (5), khi đó ta có:
Số các khối đầu vào mà thỏa mãn mối quan hệ (5) được cho bởi:
Khi đó, độ khuếch tán được đo bởi phương pháp dựa trên số điểm bất động được ký hiệu bởi hệ số D(A), được định nghĩa như sau:
Trong đó, 2-mb ≤ D(A) ≤ 1 và ma trận A biểu diễn dạng ma trận của biến đổi tuyến tính L. Hệ số D(A) biểu thị số trung bình của các khối đầu vào của L mà có mối quan hệ tuyến tính được cho bởi phương trình (5). Giá trị D(A) lớn nghĩa là có nhiều khối đầu vào không thay đổi bởi phép biến đổi tuyến tính L khi tạo khối đầu ra tương ứng. Giá trị số D(A) nhỏ nghĩa là có nhiều khối đầu vào được thay đổi hiệu quả bởi biến đổi tuyến tính L khi tạo ra các khối đầu ra tương ứng. Ngoài ra, hệ số D(A) còn biểu thị mức độ khuếch tán tốt đến đâu, nghĩa là nó có thể thể hiện biến đổi tuyến tính L thay đổi hiệu quả như thế nào các khối đầu vào khi tạo khối đầu ra tương ứng. Với phương pháp đo độ khuếch tán này, rõ ràng là không có sự khuếch tán đối với các kiểm bất động.
Kết luận
Để thiết kế một mã khối an toàn, người thiết kế phải quan tâm đến mọi thành phần của mã khối, trong đó tầng biến đổi tuyến tính vô cùng quan trọng quyết định độ an toàn của mã khối. Bài báo đã giới thiệu về tầng khuếch tán của một số mã khối và các phương pháp đánh giá mã khối cũng như đo độ khuếch tán của mã khối. Mỗi phương pháp thể hiện một góc nhìn khác nhau về toàn bộ mã khối và độ khuếch tán của tầng biến đổi tuyến tính trong mã khối và có thể là một sổ tay hữu ích cho các nhà nghiên cứu về mã khối.
TÀI LIỆU THAM KHẢO [1] M.R.Z’aba, Analysis of Linear Relationships in BlockCiphers. Ph.D. Thesis,Queensland University of Technology, Brisbane, Australia, 2010. [2] Pascale Serf: The degrees of completeness, of avalanche effect, and of strict avalabche criterion for MARS,RC6,Rijndael,Serpent, and Twofish with reduced number of rounds. – Siemens AG, ZT IK 3, April 3 – 2000. [3] Speaker M. Tolga Sakallı, Bora Aslan, Algebraic Construction of 16×16 Binary Matrices of Branch Number 7 with One Fixed Point, Computer Engineering Department, Trakya University, Edirne, Turkey. |
09:00 | 04/04/2024
Mạng riêng ảo (VPN) xác thực và mã hóa lưu lượng truy cập mạng để bảo vệ tính bí mật và quyền riêng tư của người dùng ngày càng được sử dụng phổ biến trong cả môi trường cá nhân và doanh nghiệp. Do đó, tính bảo mật của VPN luôn là chủ đề nghiên cứu nhận được nhiều sự quan tâm. Bài báo sẽ trình bày hai tấn công mới khiến máy khách VPN rò rỉ lưu lượng truy cập bên ngoài đường hầm VPN được bảo vệ thông qua khai thác lỗ hổng TunnelCrack. Hai tấn công này đã được xác nhận là có khả năng ảnh hưởng đến hầu hết các VPN của người dùng. Ngoài ra, nhóm tác giả cũng đưa ra các biện pháp đối phó để giảm thiểu các cuộc tấn công lợi dụng lỗ hổng này trong thực tế.
08:00 | 15/03/2024
Bảo mật công nghệ trí tuệ nhân tạo (AI) đặt ra nhiều thách thức và luôn thay đổi trong bối cảnh chuyển đổi số hiện nay. Khi công nghệ AI phát triển, rủi ro và bề mặt tấn công cùng các mối đe dọa mới ngày càng tăng cao. Điều này đặt ra yêu cầu đối với các nhà phát triển, tổ chức và doanh nghiệp phải có cách tiếp cận chủ động, thường xuyên đánh giá và cập nhật các biện pháp bảo mật.
09:00 | 13/02/2024
Trong bối cảnh an ninh mạng ngày càng phát triển, các tổ chức liên tục phải đấu tranh với một loạt mối đe dọa trên môi trường mạng ngày càng phức tạp. Các phương pháp an toàn, an ninh mạng truyền thống thường sử dụng các biện pháp bảo vệ thống nhất trên các hệ thống đang tỏ ra kém hiệu quả trước các hình thái tấn công ngày càng đa dạng. Điều này đặt ra một bài toán cần có sự thay đổi mô hình bảo vệ theo hướng chiến lược, phù hợp và hiệu quả hơn thông qua việc Quản lý rủi ro bề mặt tấn công (Attack Surface Risk Management - ASRM).
18:00 | 22/09/2023
Do lưu giữ những thông tin quan trọng nên cơ sở dữ liệu thường nằm trong tầm ngắm của nhiều tin tặc. Ngày nay, các cuộc tấn công liên quan đến cơ sở dữ liệu để đánh cắp hay sửa đổi thông tin càng trở nên khó lường và tinh vi hơn, vì vậy việc quản lý cơ sở dữ liệu đặt ra những yêu cầu mới với các tổ chức, doanh nghiệp. Trong hệ thống phân tán, khi dữ liệu được phân mảnh và phân phối trên các vị trí khác nhau có thể dẫn đến khả năng mất toàn vẹn của dữ liệu. Thông qua sử dụng cây Merkle và công nghệ Blockchain ta có thể xác minh tính toàn vẹn của dữ liệu. Trong bài viết này, nhóm tác giả sẽ trình bày các nghiên cứu về ứng dụng cây Merkle và công nghệ Blockchain để bảo đảm tính toàn vẹn dữ liệu cho cơ sở dữ liệu phân tán, đồng thời đảm bảo hiệu năng của hệ thống.
Cùng với sự phát triển của khoa học kỹ thuật có ngày càng nhiều những cuộc tấn công vào phần cứng và gây ra nhiều hậu quả nghiêm trọng. Nhiều giải pháp để bảo vệ phần cứng được đưa ra, trong đó, hàm không thể sao chép vật lý PUF (Physically Unclonable Functions) đang nổi lên như là một trong số những giải pháp bảo mật phần cứng rất triển vọng mạnh mẽ. RO-PUF (Ring Oscillator Physically Unclonable Function) là một kỹ thuật thiết kế PUF nội tại điển hình trong xác thực hay định danh chính xác thiết bị. Bài báo sẽ trình bày một mô hình ứng dụng RO-PUF và chứng minh tính năng xác thực của PUF trong bảo vệ phần cứng FPGA.
10:00 | 13/05/2024
Sự phổ biến của các giải pháp truyền tệp an toàn là minh chứng cho nhu cầu của các tổ chức trong việc bảo vệ dữ liệu của họ tránh bị truy cập trái phép. Các giải pháp truyền tệp an toàn cho phép các tổ chức bảo vệ tính toàn vẹn, bí mật và sẵn sàng cho dữ liệu khi truyền tệp, cả nội bộ và bên ngoài với khách hàng và đối tác. Các giải pháp truyền tệp an toàn cũng có thể được sử dụng cùng với các biện pháp bảo mật khác như tường lửa, hệ thống phát hiện xâm nhập (IDS), phần mềm chống virus và công nghệ mã hóa như mạng riêng ảo (VPN). Bài báo sẽ thông tin tới độc giả những xu hướng mới nổi về chia sẻ tệp an toàn năm 2024, từ các công nghệ, giải pháp nhằm nâng cao khả năng bảo vệ dữ liệu trước các mối đe dọa tiềm ẩn.
08:00 | 07/05/2024