Luận án Nghiên cứu, xây dựng giải pháp tích hợp mật mã vào quá trình truyền tin đảm bảo an toàn thông tin trên mạng máy tính

LỜI CAM ĐOAN . i

LỜI CẢM ƠN . ii

MỤC LỤC. iii

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT. vi

DANH MỤC CÁC HÌNH VẼ. viii

DANH MỤC CÁC BẢNG. ix

MỞ ĐẦU.1

CHƯƠNG I: TỔNG QUAN VỀ GIẢI PHÁP CAN THIỆP MẬT MÃ VÀO HỆ

THỐNG MẠNG DÙNG GIAO THỨC TCP/IP.7

1.1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN TRÊN MẠNG .7

1.1.1. Một số khái niệm cơ bản về an toàn thông tin .7

1.1.2. Các nguy cơ mất an toàn thông tin.8

1.1.3. Các hình thức tấn công thông tin trên mạng .8

1.1.4. Một số biện pháp an toàn .10

1.1.5. Các dịch vụ an toàn.10

1.1.5.1. Dịch vụ bí mật .11

1.1.5.2. Dịch vụ xác thực.12

1.1.5.3. Dịch vụ toàn vẹn dữ liệu. .13

1.1.5.4. Dịch vụ không thể chối bỏ.14

1.1.5.5. Dịch vụ kiểm soát truy nhập .14

1.2. TÍCH HỢP MẬT MÃ VÀO HỆ THỐNG MẠNG DÙNG GIAO THỨC TCP/IP 15

1.2.1. Cấu trúc giao thức TCP/IP .15

1.2.2. Tích hợp mật mã vào các tầng của giao thức TCP/IP.17

1.2.2.1. Tích hợp mật mã vào tầng ứng dụng .19

1.2.2.2. Tích hợp mật mã vào tầng vận tải.20

1.2.2.3. Tích hợp mật mã vào tầng Internet .21

1.2.2.4. Tích hợp mật mã vào tầng truy nhập mạng .22

1.2.3. Cài đặt các dịch vụ an toàn dùng kỹ thuật mật mã .22

1.3. GIẢI PHÁP BẢO MẬT DỮ LIỆU TRÊN ĐƯỜNG TRUYỀN .27

1.3.1. Một số chuẩn về an toàn và bảo mật thông tin.27

1.3.2. Chuẩn về an toàn tầng vận tải SSL/TLS .31

1.3.2.1. Giới thiệu bộ giao thức .31

1.3.2.2. Các thành phần trong giao thức SSL .31

1.3.3. Một số tấn công cơ bản đối với giao thức SSL.34

1.3.3.1. Tấn công quay lui phiên bản, quay lui thuật toán mã hóa. .34

pdf141 trang | Chia sẻ: honganh20 | Ngày: 16/03/2022 | Lượt xem: 387 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận án Nghiên cứu, xây dựng giải pháp tích hợp mật mã vào quá trình truyền tin đảm bảo an toàn thông tin trên mạng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
y nhiên, các nghiên cứu này mới đưa ra về mặt định tính cho các lựa chọn tham số e mà chưa đưa ra cơ sở khoa học để chứng minh và tiêu chuẩn an toàn của tham số khóa công khai e. 49 2.2.2. Phương pháp xác định ngưỡng an toàn của Lenstra và Verheul Để làm cơ sở nền tảng, đầu tiên luận án trình bày phương pháp của Arjen K.Lenstra và Eric R.Verheul, vận dụng phương pháp của hai tác giả trên cơ sở các luận cứ riêng của tác giả để xác định ngưỡng an toàn theo các luận cứ này. Một số căn cứ để giải quyết bài toán xác định ngưỡng an toàn và xác định độ dài modulo tối thiểu cho hệ mật RSA được Lenstra và Verheul đưa ra trong [4], [5] như sau: 2.2.2.1. Ngưỡng an toàn Ta có thể định nghĩa về ngưỡng an toàn đến thời điểm y là số lượng các phép tính mà đối tượng tấn công không thể thực hiện được cho đến thời điểm trên. Lenstra và Verheul đã xác định tham số trên theo các giả thiết dưới đây: Giả thiết 1: Hệ mật DES được phép sử dụng cho đến năm 1982, có nghĩa là, hệ mật này được chấp nhận còn an toàn cho đến năm 1982. Biết rằng, để thám hệ mật này, ta cần đến một chi phí tính toán cỡ 0,5 MY, với MY là số phép toán thực hiện được trong 1 năm của một bộ vi xử lý có tốc độ 1 Mega flops, hay: 1MY = 10 631.536.000  244,8 (2.1) Để ước lượng sức mạnh tính toán mà đối tượng tấn công có được trong tương lai, Lenstra và Verhuel đã sử dụng theo luật Moore như sau. Giả thiết 2 (Định luật Moore): Sức mạnh tính toán của bộ vi xử lý được nhân đôi sau mỗi 18 tháng với giá thành không đổi. Từ cách áp dụng luật Moore, ta có thể xem xét sự thay đổi về tiềm năng kinh tế. Ví dụ, tổng sản phẩm quốc nội Mỹ chỉ ra xu hướng tăng gấp đôi sau mỗi 10 năm, cụ thể năm 1975 là 1630 tỷ USD, năm 1985 là 4180 tỷ USD, năm 1995 là 7269 tỷ USD. Giả thiết 3: Điều trên dẫn đến giả thiết là sức mạnh kinh tế của mỗi tổ chức cũng được tăng gấp đôi sau mỗi 10 năm. 50 Ký kiệu IMY(y) là số các MY không thể thực hiện vào năm đó hay là ngưỡng an toàn tại năm y tính theo đơn vị MY. Dựa trên các giả thiết từ 1 đến 3, giá trị IMY(y) được tính theo công thức dưới đây: IMY(y) = 0,5 (MY)  12( 1982) 182 y  10 )1982y( 2  = 41( 1982) 1 302 y  (MY) (2.2) 2.2.2.2. Độ dài modulo của hệ mật RSA a) Giả thiết về tiến bộ mã thám Khi phân tích những tiến bộ về việc giải bài toán phân tích số nguyên ra thừa số nguyên tố từ những năm 70 đến năm 2000, Lenstra và Verheul đưa ra giả thiết 4 trong [4] như sau: Giả thiết 4: Đối với hệ mật RSA, tác dụng của các tiến bộ mã thám cũng tăng trưởng theo luật Moore, cụ thể cứ sau 18 tháng thì việc phá vỡ hệ mật này sẽ giảm chi phí đi một nửa. Phương pháp tiên tiến nhất để giải bài toán phân tích số nguyên ra thừa số là phương pháp sàng trường số NFS (Number Field Sieve). Thời gian tính tiệm cận theo phương pháp này được cho bởi công thức sau:  23( ) exp (1.92 (1)) ln ln (lnln )L N N N N  (2.3) Xuất phát từ cơ sở là khóa RSA-512 được phá trong năm 1999 bằng phương pháp NFS với chi phí không đến 104 MY mà theo công thức (2.3) thì chi phí để phá khóa nói trên phải là: 512 66,5 2 2L    (2.4) Như vậy, ta có thể coi chi phí thật của việc phá các khóa RSA-n, ký hiệu là T[2 n], được tính theo công thức sau: 4 512 10 [2 ]= [2 ] [2 ] n nMYT L L (2.5) b) Công thức tính độ dài modulo cho hệ mật RSA 51 Kết hợp với giả thiết 4 thì hệ mật RSA-n muốn an toàn đến năm y cần phải thỏa mãn bất đẳng thức dưới đây: 2( 1999) 32 2 ( ) y nT IMY y       (2.6) 2.2.2.3. Bảng tính ngưỡng an toàn và độ dài modulo an toàn cho hệ mật RSA Từ (2.2) và (2.6), Lenstra và Verheul đưa ra bảng tính 2 tham số a(y) là số mũ lũy thừa 2 của vế phải (2.2) và n(y) là độ dài modulo cho hệ mật RSA theo các năm y từ 2015 đến 2025, được trình bày trong bảng 2.1. y a(y) n(y) y a(y) n(y) y a(y) n(y) 2015 82 1613 2016 83 1664 2017 83 1717 2018 84 1771 2019 85 1825 2020 86 1881 2021 86 1937 2022 87 1995 2023 88 2054 2024 88 2113 2025 89 2174 Bảng 2.1. Bảng tính a(y) và n(y) cho lĩnh vực kinh tế - xã hội của Lenstra và Verheul 2.2.3. Xác định ngưỡng an toàn theo quan điểm riêng Phần này trình bày việc đưa ra các luận cứ để xây dựng lại các giả thiết và từ đó đưa ra công thức tính ngưỡng an toàn cho các năm tương lai thứ y với năm gốc tính toán là y0 = 2016. 2.2.3.1. Luận cứ xác định đối tượng tấn công Đối tượng tấn công vào các thông tin kinh tế - xã hội có tiềm năng nhất về mặt tính toán là đối tượng có trong tay siêu máy tính với tốc độ cao nhất tại thời điểm hiện tại. Theo tin từ [71], đến tháng 6 năm 2016, siêu máy tính mạnh nhất trên thế giới là Sunway TaihuLight của Trung Quốc có tốc độ 33,86 petaflop/s. Như vậy, số phép toán trong 1 năm mà siêu máy tính này thực hiện được là: 33,86 9  244,8  290,5 (2.7) 52 Giả sử rằng đối tượng tấn công vào khu vực thông tin kinh tế - xã hội sẽ có năng lực của siêu máy tính mạnh nhất trên thế giới với giá thành 100 triệu USD. Với khả năng tính toán tối đa như trên, ta hoàn toàn có thể đưa ra ngưỡng an toàn là con số gấp 10 lần khả năng nói trên, nghĩa là cỡ 90,5 93,810 2 2  . Do vậy, giả thiết mà nghiên cứu sinh muốn đưa ra là: Giả thiết 5: Ngưỡng an toàn trong lĩnh vực kinh tế - xã hội tại thời điểm 2016, ký hiệu là A(2016) được cho như sau: A(2016) = 2 94 (2.8) Nếu giả thiết 2 trong phần trên chỉ là sức mạnh tính toán của bộ vi xử lý được nhân đôi sau mỗi 18 tháng với giá thành không đổi thì trong thời gian gần đây có nhiều ý kiến cho rằng, thông số trên được rút ngắn chỉ còn là sức mạnh tính toán của bộ vi xử lý được nhân đôi sau mỗi 12 tháng với giá thành không đổi. Thay cho giả thiết 2 trong phần 1 (có lẽ đã lạc hậu ở thời điểm hiện tại), luận án đưa ra giả thiết 6 dưới đây: Giả thiết 6: Sức mạnh tính toán của bộ vi xử lý được nhân đôi sau mỗi một năm với giá thành không đổi. 2.2.3.2. Công thức xác định các ngưỡng an toàn cho đến năm y (y2016) Với các phân tích để đưa ra các giả thiết mới trong mục trên, ta sẽ tính được các ngưỡng an toàn cho đến năm y cho các thông tin cần bảo vệ trong lĩnh vực Kinh tế - Xã hội, ký hiệu là A(y), bởi công thức dưới đây: ( 2016) 11 ( 2016) 2016 10 10( ) (2016) 2 2 (2016) 2 y y y A y A A         (2.9) Với ngưỡng an toàn được tính theo công thức (2.9) nên công thức tính độ dài modulo cho hệ mật RSA cũng thay đổi. Cụ thể, công thức xác định tham số này (vẫn giữ nguyên giả thiết 4 về tiến bộ mã thám cũng như công thức (2.5) về chi phí phân tích thực tế của số n bits theo phương pháp NFS) từ (2.6) ta thu được: 2( 1999)512 3 4 [2 ] 2 2 ( ) 10     y n LL A y (2.10) 53 Để tường minh trong việc tính toán, trước hết tác giả tính toán và biểu diễn dưới dạng lũy thừa 2 của hệ số 512 4 [2 ] 10 L và biểu thức L[2n]. Để thuận lợi cho tính toán, ta biến đổi công thức (2.2) về thời gian tính của phương pháp NFS với N = 2n. Logarit cơ số 2 hai vế của (2.2) sau khi đã bỏ qua đại lượng (1) giống như lập luận của Lenstra và Verheul, ta thu được:   2 3 2 2( 2 ) 1,92 ln 2 ln ln ln 2 log nLog L n n e       Với n = 512 ta có:   2512 3 2 2 2( 2 ) 1,92 512 log 512 ln ln 2 logLog L e          2 3 21,92 512 9 ln ln 2 log e     63.829629 2 Từ công thức (2.1) ta có: 104 MY  258.1 Do đó, ta có: 5.699852 512 4 [2 ] 2 10 L  Khi đó, (2.10) tương đương với bất đẳng thức dưới đây:     2 2 2 3 53 11,92 7 ( -2016)+ log 2016 3 log ln 2 ln ln ln 2 0 e n n y A   (2.11) Chú ý rằng, theo giả thiết 5 thì log2(A(2016)) = 94. Nghiên cứu sinh đã thực hiện tính toán các giá trị a(y) (số mũ lũy thừa 2 của A(y)) và n(y) (giá trị n tương ứng với năm y trong công thức 2.11, là kích thước tối thiểu của modulo của hệ mật RSA để cho hệ mật này an toàn đến năm y) với y từ 2016 đến 2025. Kết quả tính được trình bày trong bảng 2.2 sau đây (sử dụng công cụ tính toán online từ trang web Wolframalpha.com). 54 y a(y) n(y) y a(y) n(y) 2016 94 1821 2021 100 2180 2017 96 1890 2022 101 2257 2018 97 1960 2023 102 2335 2019 98 2032 2024 103 2415 2020 99 2105 2025 104 2496 Bảng 2.2. Bảng tính các giá trị a(y) và n(y) cho lĩnh vực Kinh tế - Xã hội Tóm lại, vấn đề quan trọng nhất đạt được ở phần trên là phương pháp luận để xác định ngưỡng an toàn cho những hệ mật có độ an toàn dựa trên độ phức tạp tính toán. Các giá trị về ngưỡng an toàn trong lĩnh vực kinh tế - xã hội là cơ sở để xây dựng hệ tiêu chuẩn cho hệ mật RSA và lựa chọn hệ mật dùng trong các ứng dụng. So sánh với kết quả được công bố trên thế giới theo [73], tính theo năm 2016, các phương pháp đưa ra độ an toàn như bảng sau đây. Phương pháp Năm Kích thước khóa an toàn Độ an toàn cho phân tích số (RSA) Độ an toàn cho DLP Độ an toàn cho ECC Độ an toàn cho hàm băm Lenstra&Verhuel 2016 83 1664 158 158 158 ECRYPT II (Châu Âu) 2016- 2020 96 1776 192 192 192 NIST (Mỹ) 2011- 2030 112 2048 224 224 224 BSI (Đức) 2016 128 2048 256 256 256 ANSSI (Mỹ) 2014- 2020 100 2048 200 200 200 Luận án 2016- 2025 94 -104 1821 - 2835 Bảng 2.3. Bảng giá trị ngưỡng an toàn theo các phương pháp Theo kết quả thống kê trong bảng 2.3 giá trị ngưỡng an toàn và độ dài modulo của hệ mật RSA do luận án đề xuất trong lĩnh vực kinh tế - xã hội là hoàn toàn phù hợp với chuẩn chung của thế giới đã công bố và đảm bảo tính an toàn theo thời gian đến năm 2025. 55 2.2.4. Phương pháp mã hóa liên tiếp và tiêu chuẩn cho số công khai Trong mục này luận án trình bày về một tấn công hiệu quả sử dụng phương pháp "mã hóa liên tiếp" để giải bài toán RSA trong trường hợp số mũ công khai e có ( )or Nd e đủ nhỏ. Dựa vào đó, luận án phát triển thuật toán giải bài toán RSA thành thuật toán phân tích modulo N của hệ RSA hiệu quả trong trường hợp chỉ cần ( )or pd e hoặc ( )or qd e đủ nhỏ. Kết quả là luận án đề xuất bổ xung thêm một tiêu chuẩn cho số mũ công khai e cùng với việc tìm các số nguyên tố chứng minh được sự thỏa mãn tiêu chuẩn đã đưa ra cho hệ RSA. 2.2.4.1. Một số công thức, định nghĩa Hàm -Euler.  ( ) # | gcd( , ) 1NN a a N    . Ta có: *( ) # NN  (2.12) Cấp của phần tử trong nhóm.  Cho G là một nhóm nhân hữu hạn với đơn vị ký hiệu là 1. Khi đó với mọi phần tử a G luôn tồn tại số tự nhiên d sao cho d a a a    , ký hiệu là da , bằng đơn vị. Tức là 1(mod )da N (2.13)  Giá trị d nhỏ nhất thỏa mãn công thức (2.13) được gọi là cấp của a trong G và được ký hiệu là Gord a . Trong trường hợp * NG  thì Gord a còn được ký hiệu là Nord a .  (N): Cấp lớn nhất của các phần tử trong nhóm *N . Công thức tính (N) và (N). Nếu 1 i k i i N p    với pi là các số nguyên tố khác nhau thì 1 1 ( ) ( 1) i k i i i N p p      (2.14) 56 1 ( ) {( 1) | 1,..., }ii iN lcm p p i k     (2.15) Ngưỡng an toàn tính toán Ngưỡng an toàn tính toán (thường được xét đến một thời điểm cụ thể) là một con số, ký hiệu là A, sao cho mọi tổ chức, cá nhân đều không thể thực hiện được A phép tính cho đến thời điểm được xét. 2.2.4.2. Giải bài toán RSA bằng phương pháp mã hóa liên tiếp Bài toán RSA. Cho bản mã C được mã hóa bởi hệ mật RSA với tham số công khai (N, e). Hãy tìm M sao cho (mod )eM C N . a) Thuật toán 1 Tấn công mã hóa liên tiếp [28], [32] nhằm tìm bản rõ M từ bản mã C theo hệ mật RSA với bộ tham số công khai (N, e) được thực hiên theo thuật toán sau đây. Thuật toán 1. (Mã hóa liên tiếp giải bài toán RSA) Input: C, (N, e) Ouput: M thỏa mãn (mod ) eM C N 1. M  C; 2. X  (mod ) eM N ; 3. while (X  C) do 3.1 M  X; 3.2 X  (mod ) eM N ; 4. return M; b) Phân tích thuật toán 1 Trước hết chúng ta thấy rằng nếu thuật toán dừng tức là X = C thì với X được tính theo bước 2 hoặc bước 3.2 ta có ngay: Đẳng thức trên có nghĩa đầu ra của thuật toán đúng là bản rõ cần tìm. Việc còn lại của chúng ta ở đây là chứng tỏ thuật toán 1 luôn dừng và xác định độ phức tạp tính toán của nó. Kết quả 1. Thuật toán 1 sẽ dừng sau đúng ( ) 1Nord e  vòng lặp ở bước 3. Chứng minh. (mod )eC X M N  57 Với M xuất phát từ bước 1 chính là C nên X thu được tại bước 2, ký hiệu là X0 chính là 0 (mod ) eX C N (2.16) Ký hiệu giá trị X tính được tại vòng lặp thứ t (t  1) ở bước 3 là Xt, theo bước 3.2 ta có (mod ) e tX M N và theo bước 3.1 thì M = Xt1 vậy ta có 1(mod ) e t tX X N (2.17) Từ (2.16) và (2.17) ta thu được 1 (mod ) te tX C N   (2.18) Với ( ) 1Nt ord e  thì (2.18) trở thành ( ) (mod ) ord eNe tX C N   (2.19) Biết rằng với mọi giá trị * Na và với mọi số nguyên dương m ta có: mod ( ) (mod )m m Na a N (2.20) theo định nghĩa về cấp thì ( ) 1(mod ( ))N ord e e N  nên thay (2.20) với ( )N ord e m e  vào (2.19) thì vế phải của nó chính là C vậy Kết quả 1 đã được chứng minh.  Từ kết quả trên ta có Hệ quả 1. Chi phí tính toán của thuật toán 1 là ( )Nord e phép lũy thừa với số mũ e trong N . Như vậy, nếu e có ( )Nord e đủ nhỏ thì theo hệ quả 1, người tấn công sẽ luôn giải được bài toán RSA và khi này hệ RSA sẽ không an toàn. 2.2.4.3. Phân tích modulo n của hệ RSA bằng phương pháp mã hóa liên tiếp a) Thuật toán 2 Việc phân tích modulo N của hệ mật RSA với bộ tham số công khai (N, e) theo phương pháp mã hóa liên tiếp được thực hiện theo thuật toán sau. 58 Thuật toán 2. (Mã hóa liên tiếp phân tích modulo N) Input: (N, e) là bộ tham số khóa công khai RSA; Ouput: p là ước nguyên tố của N; 1. X  random(1, N); Y  X; 2. p  gcd(X, N); 3. while (p  {1, N}) do 3.1 X  Xe mod N; 3.2 p  gcd(X  Y, N); 4. return p b) Phân tích thuật toán 2 Kết quả 2. Giả sử N = pq và nếu các điều kiện sau đây được thỏa mãn: ( ) ( )p qord e ord e  (2.21) Giá trị Y lấy trong bước 1 thỏa mãn ( )(mod ) v (mod ( ))p ord euY Y q u e q  í i (2.22) thì thuật toán 2 sẽ dừng với đầu ra là ước nguyên tố p của N. Chứng minh. Không giảm tính tổng quát, giả sử ( ) (q)pord e ord e  , giống như lập luận đã sử dụng để chứng minh Kết quả 1 ta có giá trị X tính được ở vòng lặp thứ t, ký hiệu là Xt, của bước 3 chính là (mod ) teX N mod N với X là giá trị được lấy trong bước 1 và do đó ta có (mod ) te tX Y N (2.23) Xét phần dư theo phép chia cho p cả hai vế của (2.23) ta được  mod (mod ) mod mod t te e tX p Y N p Y p  (2.24) 59 Với ( )pt ord e ta có 1(mod ( )) te p và vì vậy vế phải của (2.24) chính là modY p hay modtX Y p (2.25) Tương tự, xét phần dư theo phép chia cho q cả hai vế của (2.33) ta được  mod (mod ) mod mod t te e tX q Y N q Y q  (2.26) Từ giả thiết ( ) (q)pord e ord e  nên giá trị ( ) 1(mod ( ))p ord etu e e q    đồng thời với giả thiết (2.22) ta có modtX Y q (2.27) Từ (2.25) và (2.27) cho thấy tX Y là bội của p nhưng không là bội của q và điều này dẫn đến gcd( , ) {1, }tX Y N p N   Cho nên thuật toán dừng và đầu ra chính là ước nguyên tố của N. Tóm lại Kết quả 2 đã được chứng minh.  Giống như Kết quả 1 ta có hệ quả sau. Hệ quả 2. Chi phí tính toán của thuật toán 2 là  ( ) ( )min ,p qm ord e ord e  phép lũy thừa với số mũ e và m phép tìm ước chung lớn nhất của hai số nguyên trong N . 2.2.4.4. Tiêu chuẩn cho tham số e a) Tiêu chuẩn Để chống được tấn công thám mã được đưa ra trong Thuật toán 1 ta cần đến điều kiện về tham số e là ( )or Nd e A  , (2.28) với A là ngưỡng an toàn tính toán, bởi vì khi này theo hệ quả 1 thì chi phí để thực hiện Thuật toán 1 là vượt quá khả năng của người tấn công. 60 Để chống được tấn công phân tích số N được đưa ra trong Thuật toán 2 chúng ta có thể đưa ra đề xuất về tham số e đó là thỏa mãn ít nhất một trong hai điều kiện sau: ( ) ( )p qord e ord e  (2.29) Hoặc ( ) ( ) p q ord e A ord e A      (2.30) Hiển nhiên (2.29) là điều kiện không thành công của Thuật toán 2, còn (2.30) làm cho chi phí để thực hiện thành công Thuật toán 2 là vượt quá khả năng của kẻ tấn công. Rõ ràng nếu thỏa mãn điều kiện (2.30) thì (2.28) cũng được thỏa mãn, do đó việc thỏa mãn (2.30) là đủ để chống lại cả hai tấn công đã trình bày. Cho nên tiêu chuẩn cho tham số e được luận án đưa ra như sau: Tiêu chuẩn: Số mũ công khai e thỏa mãn điều kiện (2.30) b) Vấn đề kiểm tra sự thỏa mãn tiêu chuẩn của tham số e Biết rằng trong tất cả các tiêu chuẩn cho bộ tham số của hệ RSA đã được ban hành trên thế giới chẳng hạn [2], [16], [17], [64], thì việc sinh các tham số luôn được bắt đầu từ chọn e sau đó rồi mới đến tìm các tham số nguyên tố p và q sao cho bộ tham số  1; ; mod ( )N pq e d e N  thỏa mãn toàn bộ các tiêu chuẩn. Bây giờ muốn kiểm tra điều kiện (2.30) cho tham số e ta cần tính được hay ít ra cũng phải ước lượng được hai giá trị ( )pord e và ( )qord e . Do ( )pord e là ước của ( ( ))p  và ( )qord e là ước của ( ( ))q  nên việc ước lượng hai giá trị nói trên có thể được thực hiện bởi kết quả sau đây. Bổ đề 1. Cho N là một số nguyên dương, r là ước nguyên tố của ( ( ))N  . Khi đó nếu mod ( ) 1 v i ( ( )) /de N d N r   í (2.31) 61 thì ( )Nord e là bội của mr với || ( ( ))mr N  . Như vậy, nếu giá trị r nêu trong Bổ đề 1 thỏa mãn r A thì ta có ngay ( )Nord e A  cho nên bằng cách chỉ ra được các số nguyên tố pr và qr không nhỏ hơn A tương ứng là ước của ( ( ))p  và ( ( ))q  thì việc kiểm tra sự thỏa mãn Tiêu chuẩn 1 được thực hiện dễ dàng thông qua sự thỏa mãn điều kiện (2.31) với N lần lượt thay bằng p và q. Khi đó cặp  A,p qr r A  sẽ là bằng chứng thỏa mãn tiêu chuẩn. c) Vấn đề tìm số nguyên tố thỏa mãn tiêu chuẩn cho e Hiển nhiên các số nguyên tố p có đủ bằng chứng thỏa mãn tiêu chuẩn với tham số e phải thỏa mãn hai điều kiện sau: Thứ nhất: ( ( ))p  có ước nguyên tố r A (2.32) Thứ hai: ( ( ))/ mod ( ) 1p re p    (2.33) Từ đó bằng việc sinh ngẫu nhiên một số nguyên tố r A rồi tìm ngẫu nhiên một số nguyên tố 1p trong tập { 1 1|p rx x  nguyên dương} thì các số nguyên tố p trong tập { 1 1|p p x x  nguyên dương} sẽ thỏa mãn | ( ( ))r p  . Nói một cách khác là điều kiện (2.32) đã được thỏa mãn. Bằng kiểm tra thêm điều kiện (2.33) để có được số nguyên tố cần tìm. 2.3. MỘT ĐỀ XUẤT MA TRẬN AN TOÀN, HIỆU QUẢ CHO TẦNG TUYẾN TÍNH TRONG CÁC MÃ PHÁP DẠNG AES Trong thiết kế mã khối, Shannon đã đưa ra 2 nguyên lý cơ bản là xáo trộn (confusion) và khuếch tán (diffusion) [42]. Nguyên lý xáo trộn được mô tả là sử dụng các biến đổi mã hóa làm phức tạp quan hệ thống kê của bản mã vào bản rõ, hoặc nói ngắn gọn là làm cho quan hệ giữa khóa và bản mã càng phức tạp càng tốt. 62 Trong khi đó tính khuyếch tán tốt là tính dàn trải ảnh hưởng của các đặc tính bản rõ ban đầu qua bản mã càng nhiều càng tốt, do đó giấu đi các tính chất của bản rõ. Các mã khối thông thường được đánh giá qua các tiêu chí quan trọng là độ an toàn, chi phí cài đặt, hiệu năng thực hiện. Các tiêu chí này thường được xem xét và phân tích chi tiết trong các dự án lựa chọn chuẩn mã khối trên thế giới như dự án CRYPTREC [75], dự án NESSIA [76] và NIST [77] để lựa chọn chuẩn mã khối AES. Trong đó, đối với việc phân tích chi phí cài đặt và hiệu năng của thuật toán thường được xem xét và đánh giá dựa trên cài đặt phần cứng và phần mềm trên nhiều nền tảng và thiết bị khác nhau dựa trên định hướng của môi trường sử dụng. + Độ an toàn: đây là yếu tố quan trọng nhất trong đánh giá mã khối. Các chức năng trong nhóm này gồm khả năng chống lại các tấn công thám mã đã biết, có tính hoàn thiện về cơ sở toán học, tính ngẫu nhiên của đầu ra. + Tính hiệu quả: là tiêu chuẩn quan trọng thứ hai mà nó bao gồm các yêu cầu về tính hiệu quả trong tính toán (tốc độ) trên nhiều platform khác nhau, yêu cầu về bộ nhớ. + Các đặc trưng cài đặt và thuật toán: bao gồm độ phức tạp, khả năng cài đặt trên phần cứng, phần mềm, tính đơn giản của thuật toán. Các thành phần của mã khối: Để thực hiện hai nguyên lý là “khuếch tán” và “xáo trộn” thì trong mỗi vòng của mã khối thường được thiết kế với 2 tầng biến đổi riêng và đan xen nhau: + Tầng tuyến tính (còn gọi là tầng khuếch tán): thường được thực hiện bởi một biến đổi tuyến tính như nhân ma trận, dịch hàng hoặc hoán vị trí của các bít. + Tầng phi tuyến (tầng xáo trộn): thường được thực hiện bởi phép biến đổi phi tuyến - có thể là bởi một biến đổi thay thế (S-Box) hoặc bởi một cấu trúc đặc biệt có tính chất phi tuyến. Trong mục này, luận án đề xuất và đánh giá tầng tuyến tính có tính chất cài đặt hiệu quả trong phần cứng dựa trên ma trận tựa vòng có thể sử dụng trong thiết kế tầng tuyến tính cho các mã pháp dạng AES. Trên cơ sở lý thuyết những nghiên cứu 63 trước đó, luận án đánh giá số lượng điểm bất động của tầng khuếch tán nhận được. Đồng thời tiến hành khảo sát và đánh giá các ma trận tựa vòng nhằm lựa chọn ra một ma trận phù hợp cho việc xây dựng một tầng khuếch tán cho mã khối có cấu trúc SPN có kích thước khối 128 bit. 2.3.1. Một số định nghĩa, khái niệm Trước hết, luận án nêu lại một số định nghĩa, khái niệm cũng như những kiến thức cần thiết trong nghiên cứu của luận án. Đầu tiên chúng ta sẽ xem xét khái niệm ma trận dịch vòng (hay còn gọi là ma trận vòng) và ma trận tựa vòng. Định nghĩa 1. Ma trận dịch vòng là ma trận mà các hàng (hoặc các cột) của nó nhận được từ hàng (cột) trước nó bằng cách dịch vòng đi một phần tử. Theo đó một ma trận có dạng: 0 1 1 1 0 2 1 2 0 ... ... ... ... ... ... ... d d d d d a a a a a a a a a                 (2.34) được gọi là ma trận dịch vòng (circulant matrix), ký hiệu là  0 1 1, ,..., ,dCir a a a  2 ,0 1nia i d    . Trong trường hợp thiết kế tầng tuyến tính như trong AES, ma trận tuyến tính sử dụng phải có kích thước 4x4, có nghĩa rằng d = 4. Định nghĩa 2 [35]. Ma trận tựa vòng kích thước d d là ma trận có dạng T d d a A 1 1 , trong đó 1 1,...,1 d 1 , 1 21, ,..., dA Cir a a , với , 2 ,1 2 n ia a GF i d . Ma trận này về sau ký hiệu là 1 2. , 1, ,..., dC like a Cir a a . Trong thiết kế mã khối cần đảm bảo số nhánh lớn nhất có thể, để đảm bảo tính chất này trong thiết kế của nhiều mã pháp thực tế sử dụng các ma trận MDS [12]. Xét định nghĩa ma trận MDS sau đây. 64 Định nghĩa 3 [33]. Ma trận vuông kích thước dxd là một ma trận MDS khi và chỉ khi tất cả các ma trận con vuông của nó không suy biến. Đối với mỗi ma trận MDS kích thước dxd được sử dụng trong tầng tuyến tính. Số nhánh của nó chính bằng khoảng cách nhỏ nhất giữa các từ của mã tuyến tính, với điều kiện mã tuyến tính này sử dụng ma trận MDS nói trên trong thành phần ma trận sinh của nó [33]. Trong trường hợp này, số nhánh sẽ bằng d + 1. Một tham số nữa liên quan đến độ an toàn của tầng tuyến tính đó là số điểm bất động. Trong [12] tác giả đưa ra khái niệm điểm bất động của tầng tuyến tính 2 2 : n n m m , trong đó   TL X A X  , A là ma trận không suy biến kích thước dxd. Như vậy, số lượng điểm bất động của biến đổi tuyến tính trên chính là số nghiệm của hệ phương trình   0A I X  , trong đó I là ma trận đơn vị kích thước d d . Từ đó, số lượng điểm bất động cho biến đổi tuyến tính nói trên được tính theo công thức sau:         2 2 n rank A rank A I n d rank A I LN       . Như vậy, số lượng các điểm bất động phụ thuộc vào hạng của ma trận .A I Tồn tại nhiều tầng tuyến tính mà ở đó có nhiều điểm bất động, tuy nhiên số nhánh của tầng tuyến tính này vẫn được đảm bảo mặc dù giá trị đầu ra không bị ảnh hưởng bởi tác động của biến đổi tuyến tính này. Nhưng thực tế trong [55] đưa ra những nghiên cứu chứng tỏ tồn tại những tấn công tiềm ẩn khi sử dụng điểm bất động của tầng tuyến tính. Trong phần tiếp theo, luận án sẽ đánh giá độ phức tạp khi cài đặt đối với ma trận dịch vòng MDS và tựa vòng sử dụng trong biến đổi MixColumns. 2.3.2. Phép MixColumns sử dụng ma trận dịch vòng và ma trận tựa vòng 4x4 Khi phân tích đề xuất ma trận 4x4 tựa vòng và khi so sánh với các ma trận vòng luận án chỉ qua tâm đến hai dạng ma trận là 1,1, ,Cir a b và . ( , 1, , )C like c Cir e f . 65 Đối với tầng tuyến tính sử dụng ma trận dạng 1,1, ,Cir a b (như trong AES), phép biến đổi MixColumns trong đó thực hiện phép nhân ma trận Y M X  : 00 01 02 03 00 01 02 03 10 11 12 13 10 11 12 13 20 21 22 23 20 21 22 23 30 31 32 33 30 31 32 33 1 1 1 1 1 1 1 1 y y y y x x x xa b y y y y x x x xa b y y y y x x x xa b y y y y x x x xb a                                , trong đó 2 , , , , 0 , 3nij ijy x a b i j   . Để tính được một phần tử, ví dụ 00y , ta cần thực hiện phép cộng XOR 4 số hạng. 00 00 10 20 30y x a x b x x      Trong hầu hết các tài liệu khi đánh giá về tài nguyên cài đặt đối

Các file đính kèm theo tài liệu này:

  • pdfluan_an_nghien_cuu_xay_dung_giai_phap_tich_hop_mat_ma_vao_qu.pdf
Tài liệu liên quan