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

Đề 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.

pdf28 trang | Chia sẻ: trungkhoi17 | Lượt xem: 442 | Lượt tải: 0download
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|iS(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|iU} 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:

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