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
141 trang |
Chia sẻ: honganh20 | Ngày: 16/03/2022 | Lượt xem: 376 | Lượt tải: 1
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
631.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 (y2016)
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 = Xt1 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:
- luan_an_nghien_cuu_xay_dung_giai_phap_tich_hop_mat_ma_vao_qu.pdf