Đề xuất cải tiến thuật toán mã hóa AES trong mạng ĐHGSCN
Khóa bí mật được phân bổ 0 1
, , , ,
.
t
k k k k i j i j i j i j là phần tử khóa có độ dài
8 bit, 0 3;0 3;0 7; i j t
Cải tiến hàm SubBytes
4 5 6 7 4 5 6 7 4 5 6 7
g k k g k k g k k g k k g k k g k k 0 2,0 2,0 1 2,0 2,0 2 2,1 2,1 3 2,1 2,1 4 2,2 2,2 5 2,2 2 , , , , , , ,2
4 5 6 7
g k k g k k 6 2,3 2,3 7 2,3 2,3 , . Những bit này được nhóm thành 4 nhóm: g0g4,
g1g5, g2g6, g3g7 trong đó g0, g1, g2 và g3 lần lượt là số hàng và g4, g5, g6
và g7 lần lượt là số cột của ma trận trạng thái. Dữ liệu ở vị trí M(g0,
g4) được thay thế từ S-box. Phép thay thế được thực hiện tương tự như
hàm SubBytes của AES. Thực hiện tương tự với các vị trí còn lại
M(g1, g5), M(g2, g6) và M(g3,g7).
Cải tiến hàm ShiftRows:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
a k k k k a k k k k a k k k k a k k k k 0 0,0 0,0 0,0 0,0 1 0,0 0,0 0,0 0,0 2 0,1 0,1 0,1 0,1 3 , , , , 0,1 0,1 0,1 0,1
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
a k k k k a k k k k a k k k k a k k k k 4 0,2 0,2 0,2 0,2 5 0,2 0,2 0,2 0,2 6 0,3 0,3 0,3 0,3 7 , , , . 0,3 0,3 0,3 0,3 Các bit
của a0 được XOR với những bit của a7 để có được một kết quả 4 bit
nhị phân của P, P a a 0 7 . Tương tự như vậy Q, R và S được tạo ra
từ các nhóm còn lại [a1, a6], [a2, a5] và [a3, a4] tương ứng, Q a a 1 6,
R a a 2 5, S a a 3 4. Các bit của P và R được sử dụng để xác định
chỉ số hàng còn các bit của Q và S xác định số lần dịch vòng trái. Hai
bit đầu tiên của P cho biết chỉ số hàng được dịch vòng trái.
Cải tiến hàm MixColumns
0 1 2 3 4 5 6 7 0 1 2 3
b k k k k b k k k k b k k k k 0 1,0 1,0 1,0 1,0 1 1,0 1,0 1,0 1,0 2 1,1 1,1 1,1 1,1 , , , b k k k k 3 1,1 1,1 1,1 1,1 4 5 6 7 ,
0 1 2 3
b k k k k 4 1,2 1,2 1,2 1,2 , b k k k k b k k k k 5 1,2 1,2 1,2 1,2 6 1,3 1,3 1,3 1,3 4 5 6 7 0 1 2 3 , , b k k k k 7 1,3 1,3 1,3 1,3 4 5 6 7 .
Sau đó được nhóm lại, b b b b b b b b 0 7 1 6 2 5 3 4 , , , , những nhóm này chuyển
đổi thành giá trị thập phân tương ứng và tính mod với 4 cho mỗi nhóm
(ví dụ b b r 0 7 10 01010010 82 , 82%4 2tức là cột thứ ba). Phần dư
r sẽ luôn luôn nằm trong phạm vi từ 0 đến 3 (nghĩa là 0 ≤ r ≤ 3. 0, 1,
2 và 3) tương ứng cột đầu tiên, thứ hai, thứ ba và thứ tư. Các biến đổi
MixColumns của thuật toán ban đầu được thực hiện trên các cột đã
chọn. Số cột tối đa được trộn trong bước này là 4.
28 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 442 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Tóm tắt Luận án Nghiên cứu, xây dựng giải pháp đảm bảo truyền số liệu an toàn trong mạng điều hành giám sát công nghiệp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ơng trình ứng
dụng người dùng
IP
Ethernet IEEE802.3
IP
Hình 1.5 Mô hình truyền thông an toàn của giao thức DNP3 qua mạng
TCP/IP
Chương 2: Ngưỡng an toàn tham số hệ mật RSA và cải tiến thuật
toán mã khối AES trong mạng ĐHGSCN
Chương này gồm hai nội dung chính:
(i) Đề xuất tiêu chuẩn tham số cho hệ mật RSA
(ii) Đề xuất cải tiến thuật toán mã hóa AES trong mạng ĐHGSCN
2.1. Đề xuất tiêu chuẩn tham số cho hệ mật RSA
Theo [44], 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 độ 93,01 petaflop/s. Như vậy, số
phép toán trong một năm mà siêu máy tính này thực hiện được theo
biểu thức (2.7).
93,019 244,8 292,4 (2.7)
Giả thiết 2.5: Ngưỡng an toàn trong lĩnh vực Kinh tế - Xã hội tại
thời điểm 2017, ký hiệu là A(2017) được cho bởi biểu thức (2.8).
A(2017) = 2
103
(2.8)
Giả thiết 2.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.
5
Công thức xác định các ngưỡng an toàn cho đến năm y (y 2017):
( 2017) 11
( 2017)
2017 10 10( ) (2017) 2 2 (2017) 2
y
y
yA y A A
(2.9)
2( 1999)512
3
4
[2 ]
2 2 ( )
10
y
n LL A y
(2.10)
Bảng 2.3 Bảng giá trị ngưỡng an toàn theo các phương pháp
Phương
pháp
Năm
Độ an
toàn cho
khóa đối
xứng
Độ 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
Luận án
2017-
2026
103-112
2177-
2924
Lenstra&
Verhuel
2017 83 1717 147 159 166
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 2000 250 250 256
ANSSI
(Mỹ)
2014-
2020
100 2048 200 200 200
Phương pháp mã hóa liên tiếp và tiêu chuẩn cho tham số công
khai
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.
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 .
Tấn công mã hóa liên tiếp[52],[70] nhằm tìm ra 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 2.1.
Thuật toán 2.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. modeX M N ;
6
3. while (X C) do
3.1 M X;
3.2 modeX M N ;
4. return M;
Mệnh đề 2.1. Thuật toán 2.1 sẽ dừng sau đúng
( ) 1Nord e vòng lặp
ở bước 3.
Hệ quả 2.1. Chi phí tính toán của thuật toán 2.1 là
( )Nord e phép lũy
thừa với số mũ e trong
N
.
Thuật toán 2.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
Mệnh đề 2.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.2 sẽ dừng với đầu ra là ước nguyên tố p của N.
Hệ quả 2.2. Chi phí tính toán của thuật toán 2.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
.
Tiêu chuẩn đề xuất: Số mũ công khai e thỏa mãn điều kiện (2.30)
Bổ đề 2.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)
thì
( )Nord e là bội của
mr với || ( ( ))mr N .
7
2.2 Đề xuất cải tiến thuật toán mã hóa AES trong mạng ĐHGSCN
Khóa bí mật được phân bổ 0 1
, , , ,...
t
i j i j i j i jk k k k là phần tử khóa có độ dài
8 bit, 0 3;0 3;0 7;i j t
Cải tiến hàm SubBytes
4 5 6 7 4 5 6 7 4 5 6 7
0 2,0 2,0 1 2,0 2,0 2 2,1 2,1 3 2,1 2,1 4 2,2 2,2 5 2,2 2,2, , , , , ,g k k g k k g k k g k k g k k g k k
4 5 6 7
6 2,3 2,3 7 2,3 2,3, .g k k g k k Những bit này được nhóm thành 4 nhóm: g0g4,
g1g5, g2g6, g3g7 trong đó g0, g1, g2 và g3 lần lượt là số hàng và g4, g5, g6
và g7 lần lượt là số cột của ma trận trạng thái. Dữ liệu ở vị trí M(g0,
g4) được thay thế từ S-box. Phép thay thế được thực hiện tương tự như
hàm SubBytes của AES. Thực hiện tương tự với các vị trí còn lại
M(g1, g5), M(g2, g6) và M(g3,g7).
Cải tiến hàm ShiftRows:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 0,0 0,0 0,0 0,0 1 0,0 0,0 0,0 0,0 2 0,1 0,1 0,1 0,1 3 0,1 0,1 0,1 0,1, , , ,a k k k k a k k k k a k k k k a k k k k
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
4 0,2 0,2 0,2 0,2 5 0,2 0,2 0,2 0,2 6 0,3 0,3 0,3 0,3 7 0,3 0,3 0,3 0,3, , , .a k k k k a k k k k a k k k k a k k k k Các bit
của a0 được XOR với những bit của a7 để có được một kết quả 4 bit
nhị phân của P, 0 7P a a . Tương tự như vậy Q, R và S được tạo ra
từ các nhóm còn lại [a1, a6], [a2, a5] và [a3, a4] tương ứng, 1 6 ,Q a a
2 5,R a a 3 4.S a a Các bit của P và R được sử dụng để xác định
chỉ số hàng còn các bit của Q và S xác định số lần dịch vòng trái. Hai
bit đầu tiên của P cho biết chỉ số hàng được dịch vòng trái.
Cải tiến hàm MixColumns
0 1 2 3 4 5 6 7 0 1 2 3
0 1,0 1,0 1,0 1,0 1 1,0 1,0 1,0 1,0 2 1,1 1,1 1,1 1,1, , ,b k k k k b k k k k b k k k k
4 5 6 7
3 1,1 1,1 1,1 1,1,b k k k k
0 1 2 3
4 1,2 1,2 1,2 1,2 ,b k k k k
4 5 6 7 0 1 2 3
5 1,2 1,2 1,2 1,2 6 1,3 1,3 1,3 1,3, ,b k k k k b k k k k
4 5 6 7
7 1,3 1,3 1,3 1,3.b k k k k
Sau đó được nhóm lại, 0 7 1 6 2 5 3 4, , , ,b b b b b b b b những nhóm này chuyển
đổi thành giá trị thập phân tương ứng và tính mod với 4 cho mỗi nhóm
(ví dụ
0 7 1001010010 82 , 82%4 2b b r tức là cột thứ ba). Phần dư
r sẽ luôn luôn nằm trong phạm vi từ 0 đến 3 (nghĩa là 0 ≤ r ≤ 3. 0, 1,
2 và 3) tương ứng cột đầu tiên, thứ hai, thứ ba và thứ tư. Các biến đổi
MixColumns của thuật toán ban đầu được thực hiện trên các cột đã
chọn. Số cột tối đa được trộn trong bước này là 4.
8
Kết quả thử nghiệm được thể hiện trong bảng 2.5.
Bảng 2.5 Hiệu ứng thác đổ trong các AES khác nhau
Khóa mã (Hex)
Hiệu ứng thác đổ
AES_Mod AES[6] AES_std
123456789ABCDEF0123456789ABCDEF0
53,13% 52,34% 50,00%
023456789ABCDEF0123456789ABCDEF0
123456789ABCDEF0123456789ABCDEF0
47,66% 51,56% 48,44%
123456789ABCDEF1123456789ABCDEF0
123456789ABCDEF0123456789ABCDEF0
55,47% 51,56% 47,66%
123456789ABCDEF0123456789ABCDEF1
123456789ABCDEF0123456789ABCDEF0
53,13% 50,78% 46,09%
123456689ABCDEF0123456789ABCDEF0
Vì các cải tiến được thực hiện trên thuật toán AES ban đầu nên tính
an toàn của thuật toán AES gốc được gữ nguyên. Do đó, để dò quét
khóa mã cần thực hiện ít nhất 2128 khả năng. Điều này về lý thuyết là
không thể. Vì vậy, tấn công vét cạn sẽ không thực hiện được trên AES
cải tiến. Mặt khác, những cải tiến trong luận án thực hiện trên thuật
toán AES nhằm mục đích không tạo ra một khuôn mẫu cố định nào
trong các bước của thuật toán. Việc cải tiến đảm bảo thuật toán có tính
xáo trộn và khuếch tán rất lớn. Bởi vậy, các phân tích thống kê về bản
mã khó thành công trong thuật toán AES cải tiến.
Nâng cao hiệu năng mã hóa và giải mã của AES
Kết quả thiết kế mã khối AES cải tiến trên FPGA
Hình 2.19 Kết quả mô phỏng thời gian mã hóa AES cải tiến trên ISIM
9
Chương 3: Giao thức thiết lập và quản lý khóa an toàn trong
mạng ĐHGSCN
Chương này trình bày các nội dung chính sau:
(i) Cấu trúc OFT
(ii) Đề xuất hai giao thức thiết lập và quản lý khóa mật mã trong
mạng ĐHGSCN
3.1 Giao thức OFT
OFT là một giao thức quản lý khóa nhóm được Sherman và cộng sự
đề xuất trong [10],[31]. Nó dựa trên kiến trúc LKH[19],[32] và sử
dụng hàm một chiều trong quản lý khóa[56]. Nhóm trưởng duy trì một
cây nhị phân, mỗi nút x của cây gắn với hai khóa mật mã gồm khóa
của nút, và khóa mù của nút,
. Khóa mù của nút x là
đầu ra của hàm một chiều với đầu vào là khóa của nó, .
Các khóa của nút bên trong, i được xác định theo quy tắc
( ( ) ( )). Trong đó, và là ký
hiệu con trái và con phải của nút x.
Root
I”
... ...
I’
I
L R
A
... ... ...
R’
......
R”
......
B
...
D
E
F
C
Hình 3.3. Tấn công thông đồng trong OFT
Tấn công thông đồng trong OFT
Trong [39], Horng đã chỉ ra lỗ hổng các tấn công thông đồng trong
OFT. Sau đó, ông ta kết luận rằng OFT không bảo toàn bí mật trước
và bí mật sau.
Mệnh đề 3.1. (Mệnh đề 1 của Xu, [99]).
Trong hình 3.3, A và C thông đồng với nhau chỉ tìm được các khóa
gồm: - kI trong khoảng thời gian [tBmax, tDmin]
10
- kI’ trong khoảng thời gian [tBmax, tDmin]([tA, tEmin][tEmax, tC])
- kI” trong khoảng thời gian [tBmax, tDmin]([tA, tEmin][tEmax,
tC])([tA, tFmin][tFmax, tC])
... cứ tiếp tục như vậy lên đến nút gốc.
Tấn công thông đồng tổng quát:
Mệnh đề 3.2 (Mệnh đề 2 của Xu, [99]).
Một cặp A và C thông đồng với nhau cũng không thể tìm ra bất kỳ
khóa nào mà chúng không được biết theo giao thức OFT, nếu
- A bị trục xuất sau khi C gia nhập nhóm.
- A và C cùng gia nhập nhóm.
- A và C cùng bị trục xuất ra khỏi nhóm.
Mệnh đề 3.3 (Mệnh đề 3 của Xu, [99])
Chọn bất kỳ trong các nút bị trục xuất và các nút gia nhập nhóm mà
tạo thành cặp có thể thông đồng với nhau để tìm ra một số khóa nút
chưa biết khi và chỉ khi cặp nút đó thông đồng với nhau để cùng tìm ra
khóa nút.
Điều kiện tấn công thông đồng:
Định lý 3.1 (Định lý 1, [101])
Trở lại hình 3.3, các khóa nút mà User_A và User_C có thể thông
đồng với nhau để tìm ra là:
- kI trong khoảng thời gian [tBMax, tDMin],
- kI’ trong khoảng thời gian [tBMax, tDMin]([tA, tEMin][
, tDMin]
[tEMax, tC]),
- xI’’ trong khoảng thời gian [tBMax, tDMin]([tA, tEMin][
, tDMin]
[tEMax, tC])([tA, tFMin][
, tDMin][tFMax, tC]),
Và cứ tiếp tục như vậy cho đến nút gốc.
Định lý 3.2 (Định lý 2, [101])
Nếu cặp người dùng User_A và User_B thông đồng nhau để tìm ra
bất kỳ khóa nào từ giao thức OFT thì phải thỏa mãn các điều kiện sau:
- User_C gia nhập nhóm sau khi User_A rời khỏi nhóm hoặc User_A
gia nhập nhóm sau khi User_C rời khỏi nhóm.
- Có đủ số lượng người dùng trong B và D.
11
3.2 Đề xuất giao thức thiết lập và quản lý khóa mật mã trong
mạng ĐHGSCN
Giao thức đề xuất OFT-1
Cấu trúc này gồm hai tập, MT và RT. Cấu trúc khóa cho mỗi tập này
được xây dựng theo thuật toán 3.3 và 3.6. MTU đóng vai trò nhóm
trưởng chung cả nhóm, khóa nhóm tại đây được sử dụng để truyền
giữa MTU với các SUB-MTU. SUB-MTU đóng vai trò là nhóm
trưởng của nhóm con, khóa ở đây gọi là khóa nhóm con được sử dụng
để trao đổi dữ liệu giữa các RTU với MTU hoặc các RTU với các
SUB-MTU còn lại trong nhóm mà MTU quản lý.
0,1K
1,1K
MT0
MT1 MT2 MTm-1 MTm
1,2K
....
....
....
K11,1 K
1
1,2 K
2
1,1 K
2
1,2 K
m-1
1,1 K
m-1
1,2 K
m
1,1 K
m
1,2
...
...
RT2
K14,2
RT1
K14,1
RT16
K14,16
RT15
K14,15
...
RT18
K22,2
RT17
K22,1
RT20
K22,4
RT19
K22,3
RT21 RT22 RT23 RT24
OFT-1
mức
MTU
OFT-1
mức
RTU
SubOFT-1/ tập con RT
Kh,1
K10,1
Kh,m
Km0,1
Kh,2
K20,1
Kh,m-1
Km-10,1
Trong đó:
h=log2m
Hình 3.9 Cấu trúc giao thức đề xuất OFT-1
Thêm một SUB-MTU hoặc RTU vào hệ thống
Khi bổ sung thêm một thành viên mới vào hệ thống trong OFT-1
được thực hiện theo hai giai đoạn: Giai đoạn thứ nhất, thời hạn của
khóa nhóm chưa hết thì để đảm bảo các liên lại được liên tục thì sẽ
thực hiện theo thuật toán 3.7; Giai đoạn thứ hai, thời hạn của khóa
nhóm đã hết, theo thuật toán 3.8. Hình 3.10 mô tả chi tiết quá trình
cập nhật khóa khi kết nạp thêm một SUB-MTU/ RTU vào hệ thống.
12
Thuật toán 3.7: UpdateKeyAddnewMemKeyinvalid()
oldG (Nhóm cũ) B(Thành viên mới)
Initiation
oldG có khóa nhóm cũ là oldGk và B có khóa mới .Bk
Pha I
KDC
;
old oldG G
y g k
( );
old oldG KDC G
s sign y
B
;B By g k
( );B B Bs sign y
,G Gold oldy s B
,B By sKDC
Pha II
KDC
( ( , ) )B Bif ver s y true then
, ;
new oldG G B
k f k y
B
( ( , ) )
old oldG G
if ver s y true then
, ;
new oldG B G
k f k y
newG
return k
0,1K ' '0,1 1,1 1,2,K f g K g K
1,1K
' '1,2 2,3 2,4,K f g K g K
2,1K 2,2K 2,3K
'
1,2K
MT0
MT1 MT2 MT3 MT4 MT5 MT6
MT7
3,1K 3,2K 3,3K 3,4K 3,5K 3,6K
'
2 ,4K
MT8 ra
khỏi hệ
thống
0,1K
1,1K
2,1K 2,2K 2,3K
MT0
MT1 MT2 MT3 MT4 MT5 MT6 MT7 MT8
3,8K3,1K 3,2K 3,3K 3,4K 3,5K 3,6K 3,7K
1,2K
2,4K
'
0,1K
' '
0,1 1,1 1,2,K f g K g K
1,1K ' '1,2 2,3 2,4,K f g K g K
2,1K 2,2K 2,3K
'
1,2K
'
2,4K
MT0
MT1 MT2 MT3 MT4 MT5 MT6 MT7
MT8
' '2,4 3,7 3,8,K f g K g K
'
3,8K
MT9
'3,8 4,1 4,2,K f g K g K
4,1K 4,2K
3,1K 3,2K 3,3K 3,4K 3,5K 3,6K 3,7K
MT9 gia
nhập hệ
thống
Hình 3.10 Cập nhật thành viên trong OFT-1
13
Trục xuất một SUB-MTU hoặc RTU ra khỏi hệ thống
Khi trục xuất một SUB-MTU ra khỏi hệ thống, cấu trúc khóa của tập
MT thay đổi và khóa nhóm mới chỉ là với những SUB-MTU còn lại và
khóa này phải được tính lại và phân phối đến các SUB-MTU theo
thuật toán 3.9. Quá trình trục xuất một RTU ra khỏi hệ thống cũng
được thực hiện tương tự như trục xuất một SUB-MTU nhưng ở mức
RTU và việc cập nhật lại khóa được hiệu chỉnh lên đến tận MT0.
Giao thức đề xuất OFT-2
Cấu trúc quản lý khóa giống như trong OFT-1 nhưng trong quá trình
cập nhật (bổ sung thành viên mới, trục xuất một thành viên ra khỏi hệ
thống) sẽ có những điều chỉnh sao cho chống tấn công thông đồng.
'
0,1K ' '0,1 1,1 1,2,K f g K g K
1,1K
' '1,2 2,3 2,4,K f g K g K
2,1K 2,2K 2,3K
'
1,2K
MT0
MT1 MT2 MT3 MT4 MT5 MT6
MT7
3,1K 3,2K 3,3K 3,4K 3,5K 3,6K
'
2 ,4K
MT8 ra
khỏi hệ
thống
0,1K
1,1K
2,1K 2,2K 2,3K
MT0
MT1 MT2 MT3 MT4 MT5 MT6 MT7 MT8
3,8K3,1K 3,2K 3,3K 3,4K 3,5K 3,6K 3,7K
1,2K
2,4K
MT9 gia
nhập hệ
thống
'
0,1K
' '
0,1 1,1 1,2,K f g K g K
1,1K
' ' '1,2 2,3 2,4,K f g K g K
2,1K 2,2K
'
3,5K
'
1,2K
'
2,4K
MT0
MT1 MT2 MT3 MT4
MT5 MT6 MT7 MT8
' ' '2,4 3,7 3,8,K f g K g K
'
3,8K
MT9
'3,8 4,5 4,6,K f g K g K
3,1K 3,2K 3,3K 3,4K
K4,1, K4,2, K4,3, K4,4, K4,5, K4,6,
M’
'
3,7K
'
3,6K S’M
S
'3,7 4,3 4,4,K f g K g K '3,5 4,1 4,2,K f g K g K
' ' '2,3 3,5 3,6,K f g K g K
'
2,3K
Hình 3.11 Cập nhật thành viên trong OFT-2
14
Khi thêm một SUB-MTU hoặc RTU vào hệ thống, hệ thống thực
hiện theo hai giai đoạn tương tự như OFT-1: Giai đoạn thứ nhất, khi
khóa nhóm chưa hết hạn sử dụng thì sẽ thực hiện theo thuật toán 3.7;
Giai đoạn thứ hai, khi khóa nhóm hết hạn sử dụng KDC sẽ tiến hành
tìm một nút gần nút gốc nhất để bổ sung thêm nút mới này tương tự
như OFT-1. Tuy nhiên, có thêm một số nút ảo S và M để tránh trùng
lặp lại OFT-1. Để cây không phát triển quá lớn thì khi cập nhật khóa,
nếu khóa của nút anh em với M thì M và S sẽ bị xóa khỏi cây và nút
con trái của S sẽ thay thế vị trí của S.
Khi trục xuất một RTU hoặc SUB-MTU ra khỏi hệ thống thì cũng
cần phải cập nhật lại toàn bộ các khóa liên quan tới RTU hoặc SUB-
MTU bị trục xuất đó. Quá trình thực hiện tương tự như OFT-1. Hình
3.11 mô tả quá trình cập nhật thành viên trong OFT-2.
Bảng 3.1 So sánh giao thức thiết lập và quản lý khóa đề xuất với các
giao thức khác
Giao thức
(1)
MITM
(2)
AC
(3)
RA
(4)
Tổng thời gian
truyền thông
của KDC (bổ
sung;trục xuất)
(5)
Thời gian tính toán của
KDC (bổ sung;trục xuất)
(6)
Tổng thời gian
tính toán của các
thành viên (bổ
sung;trục xuất)
(7)
OFT-1
và
OFT-2
Khóa
nhóm
còn
hạn
Có Có Có
1;
1h
;g f sign ver E Dt t t t t t
( 1) ( 1)E gh t h t
;
g f sign ver
E D
t t t t
t t
2D gt h t
Khóa
nhóm
hết
hạn
2 1;h
1h
(2 1) (2 1)
;
E g
g f sign ver E D
h t h t
t t t t t t
( 1) ( 1)E gh t h t
2 (2 1) ;D gt h t
2D gt h t
ROFT,
NOFT
[101]
Không Có Có
2 1;h
1h
(2 1) (2 1) ;E gh t h t
( 1) ( 1)E gh t h t
2 (2 1) ;D gt h t
2D gt h t
OFT [10],
[31]
Không Không Không
2 1;h
1h
(2 1) ( 1) ;E gh t h t
( 1) E gh t h t
2 ;D gt h t
D gt h t
Ku và cộng
sự [98]
Không Có Không
2 1;h
1h
(2 1) ( 1) ;E gh t h t
2 2( 1) ( )E gh h t h h t
2 ;D gt h t
2(1/ 2)D gh t h t
15
Xu và cộng
sự [99]
Không Có Không
2 1;h
1h
(2 1) ( 1) ;E gh t h t
( 1) ( 2)E gh t h t
2 ;D gt h t
D gt h t
HOFT [51] Không Có Không
2 1;h
1h
(2 1) 2 1
( 1) ;
E M
f
h t S h t
h S h t
( 1) 2
( 1)
E M
f
h t h t
h t
1 2
( ) ;
g M
f
h t h t
h S h t
( 1)D M ft h t h t
Tổng thời gian thực hiện của giao thức ( TotalT ) khi cập nhật thành
viên của nhóm được tính như sau:
- Thời gian thực hiện của giao thức đề xuất khi bổ sung thêm một
thành viên mới vào nhóm là max , .Total KDC KDC nodesadd trans add addT t t t
- Thời gian thực hiện của giao thức đề xuất khi trục xuất một thành
viên gia khỏi nhóm là max , .Total KDC KDC nodesdel trans del delT t t t
Hàm ở đây là do khi thực hiện cập nhật thành viên trong giao
thức đề xuất thì việc tính toán, lưu trữ của nhóm trưởng và các thành
viên trong nhóm được thực hiện đồng thời.
Chứng minh tính an toàn của các giao thức đề xuất
Định nghĩa 3.3
Giao thức đề xuất OFT-1 là đúng đắn nếu với t 0, dãy đơn ⃗⃗ ⃗⃗ ⃗⃗ ,
i S(t) thì i chỉ biết các khóa của những nút trong đường dẫn từ nút
lá của nó đến nút gốc và các khóa mù của nút anh em trên đường dẫn
này và không biết các khóa bí mật hoặc khóa mù khác trong T(t).
Định nghĩa 3.4
Giao thức đề xuất OFT-1 được gọi là an toàn chống tấn công người
dùng đơn nếu với t 0, dãy đơn ⃗⃗ ⃗⃗ ⃗⃗ , i S(t) thì i không bao giờ
có thể khôi phục lại bất kỳ khóa của nút nào trong T(t) từ Ki và những
thông điệp thu hồi khóa.
Định nghĩa 3.5
Giao thức đề xuất OFT-1 được gọi là an toàn chống các tấn công
thông đồng nếu với t 0, dãy đơn ⃗⃗ ⃗⃗⃗⃗⃗ , tập người dùng bất kỳ U =
16
{i|iS(t)}, U không thể khôi phục lại bất kỳ khóa bí mật nào trong T(t)
từ {Ki|iU} và những thông điệp thu hồi khóa.
Bổ đề 3.1
Giao thức đề xuất OFT-1 đúng và an toàn chống tấn công người
dùng đơn.
Bổ đề 3.2
Cặp người dùng thông đồng User_A và User_C bất kỳ không thể
tính ra bất kỳ khóa chưa biết nào từ giao thức đề xuất OFT-1.
Bổ đề 3.3
Giao thức đề xuất OFT-1 là an toàn chống lại tấn công thông đồng.
Ngoài ra, giao thức đề xuất OFT-1 bảo toàn bí mật trước và bảo toàn
bí mật sau nhờ vào quá trình cập nhật lại khóa ngay sau khi khóa
nhóm hết hạn trong trường hợp bổ sung một thành viên mới và cập
nhật lại khóa ngay khi một thành viên trong nhóm bị trục xuất. Giao
thức OFT-1 chống tấn công bên ngoài dưới dạng MITM dựa vào sử
dụng chữ ký số và quá trình xác thực chữ ký số. Ở đây khi kẻ thứ ba
xen vào để có thể lấy được thông tin khóa hoặc các thông tin liên quan
đến khóa là không thể vì khi thiết lập khóa cho thành viên mới khi gia
nhập hệ thống cần phải xác thực chữ ký.
Việc chứng minh tính an toàn của giao thức đề xuất OFT-2 trước các
tấn công cũng tương tự như chứng minh OFT-1.
Chương 4: Giải pháp truyền thông an toàn trong mạng điều hành
giám sát công nghiệp
Chương này trình bày các nội dung chính sau: Một là, sửa đổi cấu trúc
bên trong giao thức DNP3; Hai là, mã hóa xác thực gói tin DNP3 sử
dụng các tham số an toàn tương ứng với các mức an toàn của những
mối nguy hiểm trước các cuộc tấn công mạng.
i) Đề xuất sửa đổi cấu trúc bên trong giao thức DNP3
ii) Đề xuất mã hóa xác thực sử dụng nhiều tham số an toàn, nhiều
khóa bí mật
17
Sửa đổi cấu trúc bên trong giao thức DNP3
NH KSN OH
Data
DataOH
DataOHKSN
DataOHKSNNH
PD
DataOHKSNNH PD
CRC cải tiến
DataOHKSNNH PD CRC
AES
algorithm
DataOHKSNNH PD CRC
DataOHKSNNH PD CRC
Data
Tầng giả giao vận
Tầng liên kết dữ liệu
(tối đa 292 byte)
Tầng vật lý
Trong đó:
NH: New Header
KSN: Key Sequence Number
OH: Original Header
PD: Padding
CRC: Cyclic Redundancy Check
TS: TimeStamp
Tối đa 2048 byte
TS
TS
TS
Hình 4.2 Cấu trúc bên trong của giao thức MoDNP3
Đề xuất mã hóa xác thực sử dụng nhiều tham số an toàn, nhiều
khóa bí mật
Bên gửi Bên nhận
Original
Data
KDC (Key
Distributed
Central)
GPK (Group
Private Key)
Header
(SECP[0])
encKey[i]
(i=1,...,k)
AES
Encryption
AES
Encryption
Footer
(SECP[i]
(i=1,...,k))
AES
Encryption
Header Body Footer
Transmitted Data Received Data
Header Body Footer
AES
Decryption
AES
Decryption
Header
Look up in Hash Table
(key=SECP[0])
=
Yes
No
Drop
AES
Decryption
Footer[i]
Look up Hash Table
(key=SECP[i-1],
Value=encKey[i], SECP[i])
=
No
Drop
Original
Data
GPK (Group
Private Key)
encKey[k]
Yes and
i=k
Hình 4.5 Mô hình mã hóa xác thực nhiều tham số an toàn và nhiều
khóa bí mật, k (k ≥3).
Việc thử nghiệm được thực hiện trên hai máy trong hệ thống
ĐHGSCN giả lập, một máy coi như MTU, còn máy kia coi như RTU.
Máy MTU là một máy tính chạy Windows 7 bộ vi xử lý Intel Core i5
Dual Core 2,4GHz*2,4GHz, RAM 4GB và máy còn lại chạy
Windows 7 bộ vi xử lý Intel Core i5 2,4GHz, RAM 2GB đóng vai trò
là RTU. Hai máy này được nối mạng với nhau qua 2 Switch Planet và
02 Router Cisco như hình 4.6.
18
Hình 4.6 Mô hình mô phỏng truyền thông an toàn giữa MTU và RTU
Một số kết quả thực nghiệm với giải pháp đề xuất
Thực nghiệm được thực hiện truyền một file text đơn giản có kích
thước 16B trên máy đóng vai trò MTU truyền sang máy khác đóng vai
trò RTU. Các khóa bí mật được sử dụng để mã hóa và giải mã bằng
AES cải tiến (chương 2) có kích thước là 16, 24 và 32 MB tương ứng
với AES-128, 192, 256. Các file chứa tham số bí mật có kích thước
thay đổi từ 16B đến 1KB để làm các bí mật SECP[i] (i =0,...,k-1).
Bảng 4.3Thời gian xác thực với các mức an toàn và độ dài khóa khác
nhau
Kích thước
khóa (bit)
Kích thước
tham số bí mật
(byte)
3 tham
số bí mật
4 tham
số bí mật
5 tham
số bí mật
6 tham
số bí mật
7 tham
số bí mật
128
16 46 46 46 47 62
32 47 47 47 62 62
64 62 62 62 62 62
128 62 63 63 63 63
256 62 109 109 109 109
512 125 203 218 312 328
1,024 327 483 671 874 1,124
192
16 47 47 47 47 47
32 47 47 62 62 63
64 60 62 62 62 63
128 62 62 62 62 78
256 62 109 109 109 109
512 125 203 218 312 328
1,024 328 499 686 873 1,123
256
16 62 62 63 63 63
32 62 62 62 62 63
64 62 63 63 63 63
128 62 63 63 78 78
256 63 109 125 125 125
512 125 203 218 312 327
1,024 343 499 671 874 1,107
19
Hình 4.11 Thời gian truyền thông của các mức an toàn khác nhau với
độ dài tham số an toàn từ 16 đến 1024 byte
Hình 4.12 Thời gian truyền thông ba tham số an toàn với các khóa
AES và độ dài tham số an toàn khác nhau
Hình 4.13 Thời gian truyền thông năm tham số an toàn với các khóa
AES và độ dài tham số an toàn khác nhau
0
200
400
600
800
1,000
1,200
3 bí mật 4 bí mật 5 bí mật 6 bí mật 7 bí mật
16
32
64
128
256
512
1,024
0
50
100
150
200
250
300
350
400
128 bit 192 bit 256 bit
3 tham số an toàn
16
32
64
128
256
512
1,024
0
100
200
300
400
500
600
700
800
128 bit 192 bit 256 bit
5 tham số an toàn 16
32
64
128
256
512
1,024
Thời gian (ms)
Số lượng tham
số ant oàn
Thời gian (ms)
Độ dài khóa
Thời gian (ms)
Độ dài khóa
20
Hình 4.14 Thời gian truyền thông bảy tham số an toàn với các khóa
AES và độ dài tham số an toàn khác nhau
Kết quả thử nghiệm truyền thông an toàn nhiều tham số an toàn
Bảng 4.4 Thời gian xác thực trung bình với các mô hình xác thực khác
nhau
Mô hình xác thực thử nghiệm với DNP3 mô
phỏng
Thời gian trễ
trung bình (ms)
Không sử dụng các giải pháp an toàn 47
Mô
hình
đề
xuất
Kích thước tham số bí mật < 4098
bit
<400
Kích thước tham số bí mật < 4098
bit
>400
SSL/TLS với RSA 2663
SSL/TLS với Diffie-Hellman 2497.6
Bảng 4.4 cho thấy thời gian xác thực trung bình sử dụng SSL là
2497.6 ms dùng Diffie-Hellman làm thuật toán trao đổi khóa công
khai và 2663 ms khi sử dụng RSA làm thuật toán trao đổi khóa công
khai, thời gian trung bình truyền thông điệp sử dụng phương pháp xác
thực hai khóa bí mật-hai tham số bí mật sử dụng AES cải tiến có thời
gian trung bình là nhỏ hơn 400ms với những tham số bí mật ngắn
(≤512 byte), còn thời gian gửi nhận trung bình với những file bí mật
lớn hơn (> 512 byte) là trên 400ms.
0
200
400
600
800
1,000
1,200
128 bit 192 bit 256 bit
7 tham số an toàn 16
32
64
128
256
512
1,024
Thời gian (ms)
Độ dài khóa
21
Bảng 4.5 Thời gian truyền thông giữa hai bên gửi và nhận dữ liệ
Các file đính kèm theo tài liệu này:
- tom_tat_luan_an_nghien_cuu_xay_dung_giai_phap_dam_bao_truyen.pdf