Mục đích nghiên cứu Về lý thuyết, luận án nhằm nghiên cứu về các nội dung sau: - Nghiên cứu các thuật toán mật mã khối, một số giao thức bảo mật dữ liệu thời gian thực, cơ sở lý thuyết
Trang 1BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
PHẠM MẠNH TUẤN
NGHIÊN CỨU, XÂY DỰNG GIẢI PHÁP
BẢO MẬT DỮ LIỆU THỜI GIAN THỰC TRUYỀN TRÊN MẠNG IP BẰNG THIẾT BỊ PHẦN CỨNG
CHUYÊN DỤNG
Trang 2
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
PHẠM MẠNH TUẤN
NGHIÊN CỨU, XÂY DỰNG GIẢI PHÁP
BẢO MẬT DỮ LIỆU THỜI GIAN THỰC TRUYỀN TRÊN MẠNG IP BẰNG THIẾT BỊ PHẦN CỨNG
CHUYÊN DỤNG
Chuyên ngành : Kỹ thuật Điện tử
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan các kết quả trình bày trong luận án là công trình nghiên cứu của tôi dưới sự hướng dẫn của các cán bộ hướng dẫn Các số liệu, các kết quả trình bày trong luận án hoàn toàn trung thực và chưa được công bố trong các công trình trước đây Các kết quả sử dụng tham khảo đều được trích dẫn đầy đủ và theo đúng quy định
Hà Nội, ngày tháng năm 2017
Nghiên cứu sinh
Đỗ Thị Bắc
Trang 4LỜI CẢM ƠN
Trong quá trình nghiên cứu và hoàn thành luận án, nghiên cứu sinh đã nhận được sự định hướng, giúp đỡ, các ý kiến đóng góp quý báu và những lời động viên của các nhà khoa học, các thầy cô giáo, đồng nghiệp và gia đình
Trước hết, nghiên cứu sinh xin bày tỏ lời cảm ơn tới các Thầy PGS.TS Lê
Mỹ Tú, TS Vũ Tuấn Lâm, PGS.TS Nguyễn Hiếu Minh đã tận tình hướng dẫn và giúp đỡ trong quá trình nghiên cứu
Cho phép nghiên cứu sinh chân thành cảm ơn các thầy cô giáo, các nhà khoa học của Học viện Kỹ thuật Mật mã, Học viện Công nghệ Bưu chính-Viễn thông, Học viện Kỹ thuật Quân sự đã có các góp ý quý báu cho nghiên cứu sinh trong quá trình thực hiện luận án này
Nghiên cứu sinh chân thành cảm ơn Ban Giám đốc, Phòng Sau đại học đã tạo điều kiện thuận lợi để nghiên cứu sinh hoàn thành nhiệm vụ nghiên cứu
Cuối cùng nghiên cứu sinh bày tỏ lời cảm ơn tới các đồng nghiệp, gia đình, bạn bè đã luôn động viên, chia sẻ, ủng hộ và giúp đỡ nghiên cứu sinh vượt qua khó khăn để đạt được những kết quả nghiên cứu trong luận án này
Nghiên cứu sinh
Trang 5MỤC LỤC LỜI CAM ĐOAN I LỜI CẢM ƠN II MỤC LỤC III DANH MỤC CÁC KÍ HIỆU IX DANH MỤC CÁC BẢNG BIỂU X DANH MỤC CÁC HÌNH VẼ XII
MỞ ĐẦU XIV
Tính cấp thiết của đề tài nghiên cứu XIV Mục đích nghiên cứu XV Nhiệm vụ nghiên cứu XV Đối tượng và phạm vi nghiên cứu XVI Phương pháp nghiên cứu XVI
Ý nghĩa lý luận và thực tiễn của luận án XVI
Bố cục của luận án XVII
CHƯƠNG 1 TỔNG QUAN VỀ GIẢI PHÁP BẢO MẬT DỮ LIỆU THỜI
GIAN THỰC TRÊN MẠNG IP 1
1.1 Giới thiệu 1
1.2 Tổng quan về một số giao thức bảo mật dữ liệu thời gian thực 3
1.2.1 Giao thức bảo mật truyền thời gian thực SRTP 3
1.2.2 Giao thức bảo mật IPSec 3
1.3 Tổng quan về tình hình nghiên cứu thuật toán mật mã khối 5
1.3.1 Tổng quan tình hình nghiên cứu ngoài nước 5
1.3.2 Tổng quan tình hình nghiên cứu trong nước 8
1.4 Hướng nghiên cứu của luận án 9
1.5 Một số cơ sở lý thuyết trong phát triển thuật toán mật mã khối 9
1.5.1 Hàm logic (hàm boole) 9
1.5.2 Mật mã khối 10
1.6 Nguyên lý thiết kế mạng chuyển vị thay thế điều khiển được (CSPN) 15
1.6.1 Lớp phần tử nguyên thủy mật mã điều khiển được P 2/1 15
Trang 61.6.2 Lớp phần tử nguyên thủy mật mã điều khiển được F 2/1 19
1.6.3 Lớp phần tử nguyên thủy mật mã điều khiển được F 2/2 21
1.6.4 Kiến trúc mạng chuyển vị-thay thế điều khiển được F n/m 23
1.7 Kết luận chương 25
CHƯƠNG 2 CẢI TIẾN THUẬT TOÁN MẬT MÃ KHỐI SPECTR-128 DÙNG CHO BẢO MẬT DỮ LIỆU THỜI GIAN THỰC 27
2.1 Mô tả thuật toán mật mã khối SPECTR-128 27
2.1.1 Đặc điểm thiết kế 27
2.1.2 Mô tả chung thuật toán 28
2.1.3 Lược đồ khóa 30
2.1.4 Biến đổi khởi đầu và kết thúc 31
2.1.5 Vòng mã hóa Crypt 32
2.1.6 Hàm phi tuyến G 33
2.1.7 CP P 64/192 và P1 64/192 35
2.1.8 Khối mở rộng E 37
2.2 Phân tích độ an toàn của thuật toán SPECTR-128 38
2.2.1 Đánh giá độ an toàn đối với thám mã lượng sai 38
2.2.2 Đánh giá độ an toàn đối với thám mã tuyến tính 46
2.3 Cải tiến thuật toán mật mã khối SPECTR-128 50
2.4 Đánh giá hiệu quả của thuật toán cải tiến trên FPGA 53
2.5 Kết luận chương 54
CHƯƠNG 3 XÂY DỰNG MỘT SỐ THUẬT TOÁN MẬT MÃ KHỐI DỰA TRÊN CÁC LỚP NGUYÊN THỦY MẬT MÃ F 2/1 VÀ F 2/2 55
3.1 Phát triển họ thuật toán mật mã khối tốc độ cao 55
3.1.1 Họ thuật toán dựa trên CE F 2/1 56
3.1.2 Họ thuật toán dựa trên CE F 2/2 68
3.2 Phân tích độ an toàn của các thuật toán đề xuất 70
3.2.1 Phân tích độ an toàn của thuật toán dựa trên F 2/1 70
3.2.2 Phân tích độ an toàn của thuật toán dựa trên F 2/2 75
Trang 73.3 Phân tích hiệu quả thực hiện của các thuật toán đề xuất trên FPGA 78
3.3.1 Hiệu quả của thuật toán dựa trên F 2/1 79
3.3.2 Hiệu quả của thuật toán dựa trên F 2/2 79
3.4 Kết luận chương 81
CHƯƠNG 4 PHÁT TRIỂN NGUYÊN THỦY MẬT MÃ F 2/4 VÀ XÂY DỰNG MỘT SỐ THUẬT TOÁN MẬT MÃ KHỐI 82
4.1 Phát triển lớp nguyên thủy mật mã F2/4 82
4.1.1 Xây dựng các CE F 2/4 82
4.1.2 Phân tích các đặc tính mật mã của các CE F 2/4 86
4.1.3 Xây dựng kiến trúc CSPN dựa trên CE F 2/4 89
4.2 Phát triển một số thuật toán mật mã khối tốc độ cao 95
4.2.1 Tiêu chí thiết kế 95
4.2.2 Mô tả thuật toán 95
4.2.3 Thiết kế lược đồ khóa 100
4.3 Phân tích độ an toàn của các thuật toán đề xuất 101
4.3.1 Đánh giá các tiêu chuẩn thống kê 101
4.3.2 Đánh giá độ an toàn đối với thám mã lượng sai 102
4.4 Phân tích hiệu quả thực hiện của các thuật toán đề xuất trên FPGA 105
4.5 Kết luận chương 106
KẾT LUẬN 107
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ i
DANH MỤC TÀI LIỆU THAM KHẢO ii
PHỤ LỤC ix
A Đánh giá đặc trưng thống kê theo tiêu chuẩn NESSIE ix
B Mô hình tích hợp mật mã khối trên FPGA xii
Trang 8DANH MỤC CÁC CHỮ VIẾT TẮT
AES Advanced Encryption Standard Chuẩn mã hóa tiên tiến
ASIC Application Specific Integrated
Circuit
Vi mạch tích hợp chuyên dụng
CBC Cipher Block Chaining Chế độ mã xích khối
COS Controlled Operational
CLB Configurable Logic Block Khối logic lập trình được
CP Controlled Permutation Hoán vị điều khiển được
CTPO data-dependent Controlled
DC Differential Characteristic Đặc trưng vi sai
DCA Differential CryptAnalysis Thám mã lượng sai
DDO Data Dependent Operation Toán tử phụ thuộc dữ liệu DDP Data Dependent Permutation Hoán vị phụ thuộc dữ liệu DDR Data Dependent Rotation Phép quay phụ thuộc dữ liệu DES Data Encryption Standard Tiêu chuẩn mã hóa dữ liệu ECB Electronic Code Book Chế độ mã sách điện tử
FPGA Field Programmable Gate
Array
Mảng cổng lập trình được dạng trường
HMAC-SHA1
Hash-based Message Authentication Code- Secure Hash Algorithm 1
Mã xác thực bản tin dựa trên hàm băm - Thuật toán băm an toàn 1
IETF Internet Engineering Task Nhóm đặc trách kỹ thuật
Trang 9Force Internet IKS Internal Key Scheduling Lược đồ sinh khóa nội vi
được
LC Linear Characteristics Đặc trưng tuyến tính
NIST National Institute of Standards
Chuẩn Châu Âu cho Chữ ký
số, Tính toàn vẹn và Mã hóa
RTP Realtime Transport Protocol Giao thức truyền dữ liệu thời
gian thực
RTCP RTP Control Protocol Giao thức điều khiển giao
thức truyền thời gian thực SAC Strict Avalanche Criteria Tiêu chuẩn thác lũ chặt
SDDO Switchable Data Dependent
SRTP Secure Real-time Transport
Trang 10TLS Transport Layer Security Bảo mật lớp vận chuyển
UDP User Datagram Protocol Giao thức gói dữ liệu người
dùng VoIP Voice over Internet Protocol Thoại trên giao thức internet XSL eXtended Sparse Linearization Tuyến tính thưa thớt mở rộng
Trang 11DANH MỤC CÁC KÍ HIỆU
1 {0, 1} là tập các véc tơ nhị phân chiều = ( , … , ), ∀ = 1 ,
∈ {0, 1}
2 ( ) = ∑ là khoảng cách Hamming của véc tơ nhị phân U
3 Fn/m : phần tử điều khiển được với n bit dữ liệu vào và m bit điều khiển
4 / : phần tử nghịch đảo của phần tử Fn/m
5 ( )/ : toán tử điều khiển chuyển mạch (e là bit chuyển mạch) của P n/m
6 ( , )/ : toán tử SDDO với e là bit điều khiển chuyển mạch, L là dữ liệu vào
của SDDO, Fn/m là phần tử điều khiển được
7 L <<<n : phép dịch L sang trái n bit
8 P = (∆ ∆ , ∆ ): xác xuất đầu ra có vi sai là ∆ với điều kiện vi sai đầu vào là ∆ và vi sai của véc tơ điều khiển là ∆ , trong đó: (∆ ) =
; (∆ ) = ; (∆ ) =
9 ( ) ≝ max ∆ (∆ ∆ , ∆ ): là hàm xác xuất vi sai lớn nhất khi (∆ ) =
Trang 12DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Mô tả các khóa con cho các vòng mã hóa 31
Bảng 2.2 Phân bố của các bit của véctơ U 38
Bảng 2.3 Các giá trị của xác suất 64 192 ( q R g R) L q P P
39 Bảng 2.4 Thay đổi các bit đầu ra gây ra bởi sự thay đổi 1 bit đơn (li=1) tại đầu vào của toán tử 41
Bảng 2.5 Các giá trị của xác suất P( 1Li G Y g) 42
Bảng 2.6 Các giá trị của xác suấtP( 1Li G Y2 i i) 42
Bảng 2.7 Phân bố các bit của véctơ U 50
Bảng 2.8 So sánh hiệu quả tích hợp của các thuật toán trên FPGA 53
Bảng 3.1 Lược đồ sử dụng khóa trong TMN64 (Với R = 10) 68
Bảng 3.2 Lược đồ sử dụng khóa trong TMN128 (Với R = 14) 68
Bảng 3.3 Các kết quả đánh giá ảnh hưởng của bit bản rõ lên bản mã (thuật toán TMN64) 71
Bảng 3.4 Các kết quả đánh giá ảnh hưởng của bit bản rõ lên bản mã (thuật toán TMN128) 71
Bảng 3.5 Đặc trưng vi sai của CE F2/1 sử dụng trong các thuật toán đề xuất 72
Bảng 3.6 Các kết quả đánh giá ảnh hưởng của bit bản rõ lên bản mã (thuật toán TMN64) 75
Bảng 3.7 Các kết quả đánh giá ảnh hưởng của bit bản rõ lên bản mã (thuật toán TMN128) 75
Bảng 3.8 Đặc trưng vi sai của CE F2/2 sử dụng trong các thuật toán đề xuất 76 Bảng 3.9 Đặc trưng vi sai của các họ thuật toán phát triển dựa trên CE F2/1 và
CE F2/2 78
Bảng 3.10 Mô tả hiệu quả tích hợp của các họ thuật toán (2/1)TMN trên FPGA trong chế độ vòng lặp cơ sở và đường ống toàn phần 79
Bảng 3.11 Mô tả hiệu quả tích hợp của các họ thuật toán (2/2)TMN trên FPGA trong chế độ vòng lặp cơ sở và đường ống toàn phần 79
Trang 13Bảng 3.12 Mô tả hiệu quả tích hợp của các họ thuật toán chung khảo AES
trên FPGA trong chế độ vòng lặp cơ sở (sử dụng bộ mã nguồn VHDL của
NSA)
80 Bảng 3.13 Mô tả hiệu quả tích hợp của các họ thuật toán chung khảo AES
trên FPGA trong chế độ đường ống (sử dụng bộ mã nguồn VHDL của NSA) 80 Bảng 4.1 Giá trị phi tuyến của tập các BF 86 Bảng 4.2 Các đặc trưng vi sai của CE F2/4 87 Bảng 4.3 Các chuyển dịch đối với các CE F2/4 cho phương án 4 ở bảng 4.1 88 Bảng 4.4 Tất cả các khả năng của các dạng CSPN với kích thước dữ liệu vào
từ 2 đến 128 bit 93 Bảng 4.5 Các kết quả đánh giá ảnh hưởng của bit bản rõ lên bản mã (thuật
toán TMN64) 101 Bảng 4.6 Các kết quả đánh giá ảnh hưởng của bit bản rõ lên bản mã (thuật
toán TMN128) 101 Bảng 4.7 Đặc trưng vi sai của các họ thuật toán phát triển dựa trên CE F2/1,
CE F2/2 và CE F2/4 104 Bảng 4.8 Mô tả hiệu quả tích hợp của các họ thuật toán TMN64 trên FPGA trong chế độ vòng lặp cơ sở 105 Bảng 4.9 Mô tả hiệu quả tích hợp của các họ thuật toán TMN128 trên FPGA trong chế độ vòng lặp cơ sở 105 Bảng 4.10 Mô tả hiệu quả tích hợp của các họ thuật toán TMN64 trên FPGA trong chế độ đường ống toàn phần 105 Bảng 4.11 Mô tả hiệu quả tích hợp của các họ thuật toán TMN128 trên FPGA 106
Trang 14DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Kiến trúc giao thức IPSec 4
Hình 1.2 Cấu trúc mạng Feistel 11
Hình 1.3 Cấu trúc mạng SPN 12
Hình 1.4 Cấu trúc của Pn/m 16
Hình 1.5 Cấu trúc của CP thuận (a) và CP nghịch đảo (b) 18
Hình 1.6 Cấu trúc biểu diễn của CE F2/1 20
Hình 1.7 Cấu trúc biểu diễn của CE F2/2 22
Hình 1.8 Cấu trúc tổng quát của CSPN Fn/m(a) và F-1n/m (b) xây dựng từ F2/1 25
Hình 2.1 Cấu trúc chung của thuật toán SPECTR-128 29
Hình 2.2 Các khóa con của thuật toán 30
Hình 2.3 Biến đổi khởi đầu (a) và biến đổi cuối (b) 32
Hình 2.4 Cấu trúc của thủ tục Crypt 33
Hình 2.5 Cấu trúc của khối P64/192 (a) và P-164/192 (b) 36
Hình 2.6 Đặc trưng vi sai của CE P2/1 39
Hình 2.7 Một số đặc trưng vi sai của CP 41
Hình 2.8 Hình thành đặc trưng vi sai hai vòng với trường hợp 1 44
Hình 2.9 Hình thành đặc trưng tuyến tính của một vòng 49
Hình 2.10 Hình thành đặc trưng vi sai của ba vòng 52
Hình 3.1 Sơ đồ tổng quát của hai thuật toán (a); sơ đồ một vòng mã hóa cơ sở của TMN64 (b); sơ đồ một vòng mã hóa cơ sở của TMN128 (c) 58
Hình 3.2 Các CSPN F32/96(a) và F−132/96 (b) 59
Hình 3.3 Các CSPN F8/12(a) và F−18/12 (b) 59
Hình 3.4 Các CSPN Si(a); khối Sd(b); khối S-1d(c) 60
Hình 3.5 CE P2/1(a); khối P16/8(b); khối P32/16(c) 60
Hình 3.6 Các CSPN F64/192(a) và F−164/192 (b) 61
Hình 3.7 CSPN Si(a); khối Sd(b); khối S-1d(c) 62
Hình 3.8 Sơ đồ chung của các thuật toán đề xuất khi sử dụng lược đồ khóa vòng “cùng bay”……… 64
Hình 3.9 Thủ tục Q_exp để mở rộng khóa mật hình thành khóa vòng “cùng bay” 67
Hình 3.10 Sơ đồ tổng quát của hai thuật toán (a); sơ đồ một vòng mã hóa cơ sở của TMN64 (b); sơ đồ một vòng mã hóa cơ sở của TMN128 (c) 69
Hình 3.11 Các CSPN F32/192(a) và F−132/192 (b) 69
Trang 15Hình 3.12 Các CSPN F64/384 (a) và F−164/384 (b) 70
Hình 3.13 Các CSPN F8/24(a) và F−18/24 (b) 70
Hình 3.14 Hình thành đặc trưng vi sai hai vòng ((A1, B0) (A1, B0)) với xác suất P2 2-31 (thuật toán TMN64) 72
Hình 3.15 Hình thành đặc trưng vi sai hai vòng ((A1, B0) (A1, B0)) với xác suất P2 2-32(thuật toán TMN128) 74
Hình 3.16 Hình thành đặc trưng vi sai hai vòng ((A1, B0) (A1, B0)) với xác suất P2 2-36 (thuật toán TMN64) 76
Hình 3.17 Hình thành đặc trưng vi sai hai vòng ((A1, B0) (A1, B0)) với xác suất P2 2-37 (thuật toán TMN128) 77
Hình 4.1 Phần tử điều khiển được F2/4 (a) và biểu diễn nó trong dạng cặp các hàm Boolean (b) 83
Hình 4.2 10 phương án phù hợp tiêu chuẩn lựa chọn thứ ba, chúng thực hiện các biến đổi ( ,x x1 2)( ,y y1 2)là xoắn 85
Hình 4.3 Các đặc trưng vi sai của CE F2/4 87
Hình 4.4 CSPN sử dụng CE F2/4 90
Hình 4.5 Xây dựng CSPN với cấu trúc lặp loại thứ nhất (a) và cấu trúc lặp loại thứ hai (b) 91
Hình 4.6 Xây dựng CSPN với cấu trúc lặp loại thứ ba 92
Hình 4.7 Sơ đồ tổng quát của 2 thuật toán (a); sơ đồ một vòng mã hóa cơ sở của thuật toán TMN64 (b); sơ đồ một vòng mã hóa cơ sở của thuật toán TMN128 (c) 96
Hình 4.8 CSPN F32/384 (a) và F−132/384 (b) 97
Hình 4.9 CSPN F8/48 (a) và F−18/48 (b) 97
Hình 4.10 CSPN Si (a); khối Sd (b); khối S-1d (c 98
Hình 4.11 CE P2/1(a); khối P16/8(b);khối P32/16(c) 98 Hình 4.12 CSPN F64/768 (a) và F−164/768 (b) 99
Hình 4.13 Mạng chuyển vị-thay thế điều khiển được Si (a); khối toán tử điều khiển được Sd (b); khối toán tử điều khiển được S-1d (c) 100
Hình 4.14 Hình thành đặc trưng vi sai hai vòng ((A1, B0) (A1, B0)) với xác suất P2 2-64 (thuật toán TMN64)……… 103
Hình 4.15 Hình thành đặc trưng vi sai hai vòng ((A1, B0) (A1, B0)) với xác suất P2 2-65 (thuật toán TMN128) 104
Trang 16MỞ ĐẦU Tính cấp thiết của đề tài nghiên cứu
Ngày nay với sự phát triển nhanh của công nghệ thông tin và mạng Internet, bảo mật dữ liệu thời gian thực truyền trên mạng IP đóng vai trò quan trọng trong việc bảo vệ an toàn dữ liệu của các cá nhân và các tổ chức Xã hội hiện nay ngày càng phát triển, nhu cầu sử dụng các dịch vụ Internet càng lớn và không ngừng được nâng cao để có thể đáp ứng được xu thế thời đại Các dịch vụ thời gian thực trên mạng Internet cũng ngày càng phát triển và thu hút được lượng lớn người sử dụng ví dụ như các hệ thống truyền thông đa phương tiện, hệ thống dự phòng thảm họa, và hệ thống phân tích dữ liệu khoa học Đối mặt với sự phát triển này, việc xâm phạm dưới các hình thức khác nhau có thể ảnh hưởng nặng nề tới các cá nhân
và tổ chức xã hội Do vậy, nhu cầu an toàn an ninh cho dữ liệu thời gian thực truyền trên mạng IP trở nên cấp thiết và đòi hỏi ở các mức độ cao hơn
Tuy nhiên trên thực tế lại hình thành một mâu thuẫn giữa nhu cầu phát triển các ứng dụng dịch vụ trên mạng IP với các nguy cơ an toàn về thông tin Điều này
dễ dàng có thể hiểu được vì mạng IP là một mạng mở Giải pháp hiệu quả nhất nhằm bảo đảm sự an toàn thông tin trong các mạng này là sử dụng mật mã [3, 24] Các giải pháp mật mã trong các mạng này luôn phải đảm bảo cả 3 yêu cầu đó là: bảo mật dữ liệu, kiểm tra toàn vẹn dữ liệu và xác thực thông tin
Song mật mã vẫn luôn là một vấn đề thời sự bởi tính ứng dụng của nó Hiện tại, các giải pháp bảo mật của công nghệ IP vẫn sử dụng các thuật toán mật mã thông dụng dùng cho cả các ứng dụng phần mềm và phần cứng mà chưa có các thuật toán mật mã phù hợp với các ứng dụng phần cứng chuyên dụng Đó là nguyên nhân tại sao các giải pháp mật mã khi tích hợp thường chưa tối ưu cho các ứng dụng dữ liệu thời gian thực
Với cách tiếp cận như trên, việc nghiên cứu các thuật toán mật mã theo xu hướng mới (có tốc độ và có hiệu quả tích hợp cao, phù hợp triển khai trên phần cứng đảm bảo độ an toàn, ) nhằm đáp ứng yêu cầu ngày càng cao của các ứng dụng là tất yếu Hơn nữa, trong điều kiện mà nhiều thuật toán mã hóa truyền thống
đã bị chứng minh là yếu hoặc có lỗ hổng hoặc không phù hợp trong các ứng dụng
Trang 17dữ liệu thời gian thực như hiện nay thì xu hướng mới lại càng cần thiết hơn Do đó hướng nghiên cứu của luận án hoàn toàn phù hợp với yêu cầu thực tiễn của cuộc sống cũng như khoa học
Mục đích nghiên cứu
Về lý thuyết, luận án nhằm nghiên cứu về các nội dung sau:
- Nghiên cứu các thuật toán mật mã khối, một số giao thức bảo mật dữ liệu thời gian thực, cơ sở lý thuyết về thiết kế thuật toán mật mã khối Trên cơ sở đó đề xuất một số thuật toán mật mã khối phù hợp, an toàn và đảm bảo có hiệu quả tích hợp cho phần cứng chuyên dụng dạng VLSI (FPGA, ASIC) Đồng thời, đánh giá các thuật toán đề xuất về độ an toàn, hiệu quả tích hợp trên phần cứng FPGA theo một số tiêu chuẩn đánh giá trên thế giới, từ đó làm cơ sở cho việc thiết kế, chế tạo các thiết bị bảo mật dữ liệu thời gian thực chuyên dụng
Về thực hành, luận án nhằm thực hiện các nội dung:
- Xây dựng chương trình mô phỏng thông qua ngôn ngữ mô tả phần cứng (VHDL) để từ đó đánh giá hiệu quả tích hợp của các thuật toán mật mã khối phát triển trên phần cứng FPGA
- Xây dựng chương trình mô phỏng đánh giá các thuật toán đề xuất theo một số tiêu chuẩn trên thế giới
Nhiệm vụ nghiên cứu
- Nghiên cứu lý thuyết về nguyên lý thiết kế thuật toán mật mã khối và nguyên
- Đề xuất lớp phần tử nguyên thủy mật mã mới hiệu quả hơn, đồng thời phát triển họ thuật toán mật mã khối dựa trên lớp phần tử này
Trang 18- Đánh giá độ an toàn của các thuật toán mật mã khối
Đối tượng và phạm vi nghiên cứu
- Đối tượng: các thuật toán mật mã khối
- Phạm vi nghiên cứu: các thuật toán mật mã khối dựa trên mạng chuyển vị thay thế điều khiển đươc (CSPN) có tốc độ nhanh, hiệu quả tích hợp cao trên nền tảng phần cứng FPGA
Phương pháp nghiên cứu
Nghiên cứu lý thuyết kết hợp với mô phỏng và đánh giá thực nghiệm trên cơ
sở một số tiêu chuẩn đánh giá trên thế giới Cụ thể sử dụng kết hợp các nhóm phương pháp nghiên cứu: phân tích, so sánh, tổng hợp, đánh giá và mô phỏng qua phần mềm thực nghiệm
Ý nghĩa lý luận và thực tiễn của luận án
Về lý luận, luận án đề xuất giải pháp để đảm bảo an ninh bằng mật mã cho cho dữ liệu thời gian thực trên mạng IP sử dụng phần cứng chuyên dụng (FPGA).Về thực tiễn, kết quả nghiên cứu của luận án sẽ góp phần tạo ra nhiều cơ hội lựa chọn nhằm đảm bảo an toàn thông tin cho các tổ chức và cá nhân có nhu cầu Đây là nghiên cứu phù hợp cho các ứng dụng truyền dữ liệu thời gian thực trên mạng IP nhưng vẫn phải đảm bảo tốc độ mã và giải mã cao, cũng như đảm bảo chất lượng cho dịch vụ thời gian thực có bảo mật Từ đó góp phần tạo ra sản phẩm ứng dụng thực tiễn, hiệu quả và độ tin cậy cho các dịch vụ dữ liệu thời gian thực Tiến tới đưa thành tựu khoa học, các kỹ thuật mới trong mật mã để cải thiện vấn đề an ninh trên mạng ở Việt Nam Ngoài ra, kết quả nghiên cứu của đề tài cũng góp phần làm nền tảng cho việc đưa các kết quả này vào việc phát triển nội dung chương trình đào tạo, cụ thể tăng cường việc đề xuất đưa những nội dung mới, tiên tiến trên thế giới về mật mã vào chương trình đào tạo ngành an ninh mạng và công nghệ thông tin của các trường đại học nhằm nâng cao chất lượng giáo dục
Trang 19Bố cục của luận án
Ngoài phần mở đầu giới thiệu về tính cấp thiết của luận án, mục đích, nhiệm
vụ, phương pháp, đối tượng, phạm vi, ý nghĩa khoa học và thực tiễn, các đóng góp mới, luận án được chia thành 4 chương với bố cục như sau:
Chương 1: Tổng quan về giải pháp bảo mật dữ liệu thời gian thực trên mạng IP
Chương này tập trung vào trình bày tóm tắt tình hình nghiên cứu về dữ liệu thời gian thực, một số giao thức bảo mật dữ liệu thời gian thực, các thuật toán mật
mã khối Phân tích hướng tiếp cận của luận án về thuật toán mật mã khối và phương pháp thực hiện thuật toán mật mã khối nhằm đảm bảo chất lượng dịch vụ
dữ liệu thời gian thực khi có tích hợp giải pháp bảo mật Đồng thời, trong chương này cũng trình bày một số cơ sở lý thuyết trong thiết kế thuật toán mật mã khối
Chương 2: Cải tiến thuật toán mật mã khối Spectr-128 dùng cho bảo mật dữ liệu
thời gian thực
Dựa trên các kết quả đánh giá độ an toàn bằng các phân tích thám mã vi sai
và tuyến tính trên thuật toán mật mã khối SPECTR-128, trong chương sẽ tập trung vào trình bày kết quả cải tiến thuật toán này về độ an toàn Các phương án cải tiến của thuật toán, sẽ được chứng minh về độ an toàn và hiệu quả thực hiện trên FPGA nhằm sử dụng thuật toán này trong thiết kế thiết bị bảo mật dữ liệu thời gian thực
Chương 3: Xây dựng một số thuật toán mã khối dựa trên các lớp nguyên thủy mật
Trang 20Chương 4: Phát triển nguyên thủy mật mã F2/4 và xây dựng một số thuật toán mật
mã khối
Chương này sẽ trình bày một số kết quả nghiên cứu mới của luận án về kết
quả phát triển lớp nguyên thủy mật mã F2/4 và xây dựng một số thuật toán mật mã khối dựa trên lớp nguyên thủy mật mã này
Trang 21CHƯƠNG 1 TỔNG QUAN VỀ GIẢI PHÁP BẢO MẬT DỮ LIỆU THỜI
GIAN THỰC TRÊN MẠNG IP
Đây là chương trình bày tổng quan về giải pháp bảo mật dữ liệu thời gian thực trên mạng IP với những nội dung chính sau: nghiên cứu tổng quan dữ liệu thời gian thực, tổng quan về một số giao thức bảo mật dữ liệu thời gian thực, tổng quan về thuật toán mật mã khối và một số cơ sở thiết kế thuật toán mật mã khối phù hợp cho bảo mật dữ liệu thời gian thực
Thông qua đó xác định rõ vấn đề đặt ra cần nghiên cứu, vị trí vấn đề nghiên cứu, xu hướng và giải pháp giải quyết vấn đề đặt ra
1.1 Giới thiệu
Dữ liệu thời gian thực là dữ liệu không được lưu trữ hoặc lưu trữ nhưng nó được chuyển đến người dùng cuối nhanh nhất khi nó được thu thập Xử lý dữ liệu thời gian thực không chỉ yêu cầu đảm bảo tính đúng đắn của dữ liệu mà còn yêu cầu thời gian xử lý dữ liệu nhanh, kịp thời Có rất nhiều ứng dụng yêu cầu dữ liệu đáp ứng thời gian thực như trong ngành công nghiệp sản xuất, kiểm soát tiến trình (trong nhà máy, hay trong viện hạt nhân, trong hệ thống hàng không, thông qua các
hệ thống dẫn đường tích hợp trên máy bay và vệ tinh), y tế, và các hệ thống xử lý cơ
sở dữ liệu thời gian thực như các hệ thống truyền thông đa phương tiện, hệ thống dự phòng thảm họa, và hệ thống phân tích dữ liệu khoa học
Các ứng dụng thời gian thực cần đảm bảo chất lượng dịch vụ của mạng để thoả mãn nhu cầu sử dụng Chất lượng dịch vụ được mong đợi có ở mạng được gọi
là tham số chất lượng dịch vụ (QoS) Các ứng dụng thời gian thực thường có các yêu cầu nghiêm ngặt về các tham số QoS như sau: băng tần, độ trễ, jitter, độ mất mát
Độ Trễ: Việc phân phát thành công một gói dữ liệu bởi mạng giao tiếp trong
ứng dụng thời gian thực không chỉ tuỳ thuộc vào việc nhận gói dữ liệu mà còn phụ thuộc vào thời gian mà gói dữ liệu nhận được Nếu như thời gian mà mạng cần để phân phát gói dữ liệu vượt quá giới hạn trễ nhất định thì ứng dụng sẽ vượt quá thời gian và kết quả là làm suy giảm chất lượng dịch vụ thời gian thực
Trang 22Jitter: Jitter được định nghĩa là biến đổi lớn nhất trong việc trễ bởi các gói tin
trong một phiên đơn Nói một cách khác, điều này khác với độ trễ lớn nhất và nhỏ nhất mà gói truyền trong mạng chuyển gói Ví dụ, nếu độ trễ tối thiểu bởi một gói trong một lớp là 1 ms và độ trễ tối đa là 10 ms, thì độ trễ jitter là 9 ms
Khi các gói dữ liệu được truyền trong mạng, chúng có thể có các độ trễ khác nhau tại các nốt khác nhau Các gói có thể truyền đi theo các đường khác nhau tạo nên jitter
Băng tần: Tham số này là tốc độ kết nối dịch vụ trong mạng Đủ băng tần là
điều thiết yếu để có được thông lượng yêu cầu cho mỗi ứng dụng
Độ mất mát: Độ mất mát là phần trăm của các gói truyền có thể bị mất trong
quá trình truyền tải Các gói trong kết nối có thể bị mất do các lý do khác nhau như
vi phạm tối đa trễ, tối đa trễ jitter, vượt quá bộ đệm, và mất mát dữ liệu Mất mát dữ liệu là không quan trọng trong mạng truyền quang và có thể không cần chú ý, nhưng mất mát dữ liệu trong mạng không dây là quan trọng Các ứng dụng khác nhau có sự yêu cầu khác nhau về độ mất mát
Các yêu cầu của các ứng dụng thời gian thực khác nhau với chất lượng dịch vụ vượt quá tham số QoS có thể khác nhau
Ngày nay, cùng với sự phát triển của công nghệ thông tin và mạng internet thì các dịch vụ dữ liệu thời gian thực ngày càng đa dạng và thâm nhập vào mọi hệ thống dữ liệu khác nhau Tuy nhiên, cùng với sự phát triển đó là vấn đề an ninh thông tin, đặc biệt là với các hệ thống sử dụng mạng IP ( là mạng sử dụng bộ giao thức TCP/IP để truyền dữ liệu như LAN, WAN, Internet, ) thì nguy cơ bị tấn công lấy trộm hoặc phá hủy thông tin ngày càng lớn Do đó, việc áp dụng các thuật toán mật mã để mã hóa các thông tin truyền đi ngày càng phổ biến và cần thiết Nhưng
do đặc thù của loại dữ liệu thời gian thực nên các thuật toán mật mã sử dụng để mã hóa/ giải mã dữ liệu thời gian thực phải có tốc độ nhanh để đảm bảo độ trễ do thuật toán mật mã là nhỏ nhất Chính vì vậy, việc lựa chọn thuật toán mật mã và phương pháp thực hiện thuật toán phù hợp để đảm bảo chất lượng yêu cầu của dịch vụ thời gian thực là rất cần thiết
Trang 231.2 Tổng quan về một số giao thức bảo mật dữ liệu thời gian thực
1.2.1 Giao thức bảo mật truyền thời gian thực SRTP
Giao thức bảo mật truyền thời gian thực SRTP (Secure Realtime Transport Protocol)[58] cung cấp sự toàn vẹn, tính xác thực, và sự bảo mật với giao thức truyền thời gian thực RTP (Realtime Transport Protocol), và giao thức điều khiển vận chuyển thời gian thực RTCP (Realtime Transport Control Protocol) Giao thức SRTP là một chuẩn giao thức IETF được sử dụng để đảm bảo tính bảo mật trong quá trình truyền tải âm thanh, video và chia sẻ nội dung với các phương tiện truyền thông khác Giao thức SRTP được phát triển bởi nhóm nghiên cứu giao thức IP và mật mã hóa của Cisco và Ericsson với tiêu chuẩn RFC 3711 được công bố bởi IETF vào tháng 3 năm 2004
Giao thức SRTP không chỉ rõ các khóa được trao đổi giữa người gửi và người nhận như thế nào Những hệ thống quản lý khóa ở bên ngoài phạm vi của SRTP Với VoIP, giao thức báo hiệu có thể tiến hành trao đổi khóa trước khi giao thức bảo mật truyền thời gian thực SRTP thực hiện Để sử dụng giao thức báo hiệu cho sự trao đổi khóa, cần bảo mật giao thức này bằng cách sử dụng giao thức TLS, IPSec hay giao thức tương tự Nếu không thực hiện như vậy, khóa mà giao thức SRTP sử dụng có thể bị lộ và bị tấn công
Với giải thuật mật mã hóa và giải mật mã luồng dữ liệu, giao thức SRTP sử dụng thuật toán mã hóa AES là thuật toán mã hóa mặc định SRTP sử dụng HMAC-SHA1 để chứng thực bản tin và đảm bảo sự toàn vẹn dữ liệu (trong tiêu chuẩn RFC 2104)
1.2.2 Giao thức bảo mật IPSec
Giao thức bảo mật IPSec là giao thức bảo mật lớp mạng Giao thức này có thể gửi và nhận những gói (TCP, UDP, ICMP, …) được bảo vệ bởi các biện pháp mật
mã hóa mà không sửa nội dung của gói Giao thức này cung cấp khả năng mật mã hóa giao thức lớp cao hơn và chứng thực mỗi gói IP Giao thức IPSec bao gồm quá trình trao đổi khóa, xử lý chính sách bảo mật, liên kết tính bảo mật và hai giao thức
Trang 24AH (mào đầu chứng thực) và giao thức ESP (giao thức bảo vệ tải trọng) của gói IP Giao thức AH cung cấp khả năng chứng thực và toàn vẹn dữ liệu AH thiết lập kết nối IPSec yêu cầu hai pha: pha 1 (ISAKMP SA) và pha 2 (IPSec SA) Chúng ta có thể nhìn thấy sự phức tạp của giao thức IPSec như hình sau đây:
Hình 1.1: Kiến trúc giao thức IPSec
Khi IPSec bắt đầu được thiết lập giữa A và B, những đầu cuối này thu nhận chính sách dữ liệu từ bộ quản lý miền Sau đó mỗi đầu cuối phân phối thiết lập bảo mật cho bộ trao đổi khóa IKE
role) IPSec Peer A (Initiator
wide Policy Manager
Domain-Network Interface
TCP/IP Applications
TCP/IP
Applicat
ions
Policy Policy
Trang 25Giao thức IPSec là giao thức phổ biến hiện nay để bảo mật dữ liệu truyền trên mạng IP ( trong đó bao gồm cả dữ liệu thời gian thực), tuy nhiên quá trình xử lý thuật toán phức tạp làm cho các thiết bị mã hóa sử dụng giao thức IPSec tiêu tốn nhiều tài nguyên, hiệu năng không cao Trên thế giới đã có nhiều công trình nghiên cứu cải tiến nhằm cải thiện tốc độ, nâng cao hiệu năng xử lý của IPSec, điển hình như công trình của các tác giả A Salman, M Rogawski and J Kaps [2] (năm 2011 ); L.Wu, Yun Niu,X Zhang [32] (năm 2013) đã nghiên cứu cứng hóa giao thức IPSec trên nền công nghệ FPGA và đạt được những thành công lớn về mặt tốc độ
và hiệu năng xử lý, trong đó về giải pháp mật mã các tác giả trên sử dụng thuật toán
mã hóa chuẩn AES cho ESP và giao thức thỏa thuận khóa Diffie-Hellman với tham
số RSA 1024, 2048 bít cho IKEv2 Về cứng hóa chuẩn mã hóa dữ liệu AES trên FPGA nhằm nâng cao hiệu năng xử lý mật mã, điển hình có các nghiên cứu gần đây như công trình của các tác giả Kaur A, Bhardwaj P and Naveen Kumar [31] (năm 2013), Ashwini R Tonde and Akshay P Dhande [3] (năm 2014), hay kết quả khảo sát các công trình nghiên cứu theo hướng này của các tác giả Shylashree.N, Nagarjun Bhat and V Shridhar [46] (năm 2012) cho thấy các kết quả đạt được là rất đáng kể nhờ việc tối ưu và sử dụng các kỹ thuật tiên tiến (pipeline) khi thực hiện trên phần cứng Tuy nhiên, các công trình nghiên cứu đề cập đến việc cài đặt trên phần cứng có liên quan đến tối ưu hoặc cải tiến các thành phần mật mã còn rất hạn chế
1.3 Tổng quan về tình hình nghiên cứu thuật toán mật mã khối
1.3.1 Tổng quan tình hình nghiên cứu ngoài nước
Thuật toán mật mã khối là một phần quan trọng trong sản phẩm mật mã, việc tích hợp thuật toán mật mã khối vào các sản phẩm mật mã mang lại nhiều lợi ích, đa
số các quốc gia và tổ chức quốc tế rất quan tâm đến việc nghiên cứu phát triển thuật toán mật mã khối
Tại Mỹ, Chính phủ đã mở hai chiến dịch tuyển chọn chuẩn thuật toán mật mã khối trong hai giai đoạn kế tiếp nhau, giai đoạn đầu kết thúc vào năm 1976 với
Trang 26chuẩn mã hóa dữ liệu DES và giai đoạn sau kết thúc vào năm 2000 với chuẩn mã hóa nâng cao AES, giai đoạn sau có quy mô và chất lượng cao hơn giai đoạn trước Cho đến năm 2005, đây là lĩnh vực duy nhất trong mật mã được chính phủ Mỹ phát động cuộc thi tuyển chọn thuật toán trên phạm vi toàn thế giới để làm chuẩn bảo mật thông tin Một số chính phủ khác như Nhật, Nga, Hàn Quốc… cũng tổ chức đánh giá, tuyển chọn mã khối làm Tiêu chuẩn cho quốc gia, khối EU lập ra dự án NESSIE để xây dựng các Tiêu chuẩn mật mã (trong đó có mã khối) của Châu Âu Các nhà mật mã định nghĩa mã khối như sau: Mã khối là một phép biến đổi có hai đầu vào và một đầu ra, hai đầu vào gồm có khóa, bản rõ, đầu ra là bản mã, với mỗi khóa cố định, đây là phép biến đổi có ngược, biến bản rõ có n bit thành bản mã cũng có n bit (n được gọi là cỡ khối, còn l được gọi là cỡ khóa) Việc giải mã thực hiện được nhờ phép biến đổi có ngược này, khi đã có một mã khối, vấn đề được đặt
ra là mã hóa như thế nào một thông báo có nhiều hơn n bit, đã có nhiều lời giải cho vấn đề này Chẳng hạn, chia thông báo này thành các khối n bit liên tiếp, rời nhau, sau đó mã hóa lần lượt từng khối đó bởi thuật toán mã khối này (với cùng một khóa) Người ta gọi kiểu (mode) mã hóa như thế là kiểu ECB (sách điện tử) Mỗi kiểu mã hoá có những ưu, nhược điểm riêng và được lựa chọn sử dụng tùy theo nhu cầu thực tế
Về độ an toàn của mã khối, hướng thứ nhất là chọn cấu trúc của mã khối và các thành tố trong đó có chất lượng tốt Cho đến nay, có hai loại cấu trúc mã khối
có “uy tín” cao là cấu trúc Feistel và cấu trúc thay thế - hoán vị (SPN) Đại diện cho cấu trúc Feistel là DES (là chuẩn mã hóa dữ liệu liên bang của Mỹ khoảng từ 1977 đến 1998), còn đại diện cho cấu trúc SPN là AES (là chuẩn mã hóa nâng cao hiện nay của Hoa Kỳ) Sau khi chọn cấu trúc, các nhà thiết kế chọn các thành tố của mã khối theo những tiêu chuẩn nhất định (mà họ tin tưởng rằng chúng sẽ bảo đảm cho
mã khối có độ bảo mật cao) Các thành tố của mã khối thường là: các hộp thay thế (thường gọi là các hộp S), tầng khuếch tán, lược đồ khóa…
Hướng thứ hai là đưa sản phẩm mã khối ra thử thách trên “chiến trường thử nghiệm” Chính phủ Mỹ đã làm như vậy khi tuyển chọn AES Họ đã tung các thuật
Trang 27toán đề cử lên mạng Internet và kêu gọi các nhà khoa học nghiên cứu tấn công, sau
đó lập ra các hội đồng tổng kết các tấn công lên từng thuật toán được đề cử và tổ chức tuyển chọn ở nhiều vòng Ở vòng cuối cùng họ chỉ chọn một thuật toán mã khối là AES (đó là thuật toán Rijndael của hai nhà khoa học Bỉ) Mỹ công bố công khai tiêu chuẩn tuyển chọn AES, liên quan đến nhiều khía cạnh như: độ an toàn, sự phù hợp với một lớp rộng rãi các “nền” thực hiện mã khối, tốc độ thực hiện trên phần mềm cao… Và có một điều rất hiển nhiên là, thuật toán được lựa chọn phải là thuật toán không bị phá vỡ bởi bất cứ tấn công nào được công bố trên thế giới trong hiện tại cũng như trong tương lai gần (trong khoảng 15 đến 20 năm) Người ta dự kiến AES có thể đứng vững trong vòng 20 năm (trước kia người ta dự kiến DES có thể đứng vững trong vòng 10 năm, nhưng thực tế nó đứng vững được lâu hơn thế nhiều)
Các tiêu chuẩn nói ở trên có liên quan mật thiết đến các tấn công thực tế Nhiều khi người ta căn cứ trên các tấn công đã biết để xây dựng các tiêu chuẩn nhằm vô hiệu hóa các tấn công đó lên mã khối của mình, vì vậy, cả hai hướng này mang đậm tính thực tiễn Nhiều quốc gia và nhiều tổ chức quốc tế (ở châu Âu đầu thế kỷ 21 từng có dự án NESSIE, nay đang có dự án INRIA) đã lập ra các dự án để tổng kết, nghiên cứu các vấn đề này cho từng giai đoạn lịch sử Nhiều nhà khoa học
đã viết sách trình bày các nguyên lý thiết kế và các tiêu chuẩn lựa chọn các thành tố của mã khối
Những vấn đề nói trên đều trong quá trình phát triển, chúng không ngừng được bổ sung và hiệu chỉnh Có một số hãng nước ngoài kinh doanh sản phẩm mật
mã đã thiết kế mã khối riêng của họ (chứ không dùng AES hoặc một số chuẩn quốc
tế khác), nhưng không trao cho khách hàng bản thuyết minh chi tiết của thiết kế, vì
họ coi đó là bí mật Trách nhiệm nặng nề đối với các nhà mật mã thực hành là ở chỗ, có thể có những tấn công thành công lên thuật toán mã khối nào đó nhưng người ta không công bố, trong khi các thông tin mật vẫn cần phải mã hóa và truyền
đi hàng ngày
Trang 28Việc nghiên cứu đánh giá mã khối nói riêng và mật mã nói chung cần được tiến hành một cách nghiêm túc, kỹ lưỡng, khoa học và liên tục, cần thường xuyên cập nhật thông tin và tiến hành nghiên cứu nâng cao cho thích hợp, vấn đề này là thách thức lớn đối với công tác nghiên cứu khoa học trong hoàn cảnh trình độ khoa học của chúng ta chưa đạt trình độ tiên tiến
Tại Nga, các nghiên cứu phát triển hệ mã khối cũng rất được chú trọng, các giao dịch điện tử trong an ninh quốc phòng thường được bảo đảm bí mật dựa trên thuật toán mã khối GOST 28147-89 (chuẩn mã hóa dữ liệu của Liên Xô), thuật toán này được thiết kế dựa trên dựa trên mạng Feistel (Feistel Network), kích thức khối
dữ liệu 64 bít, chiều dài khoá 256 bít
Tại Nhật, sử dụng chuẩn mã hóa dữ liệu Camellia, kích thước khối dữ liệu 192 bít, chiều dài khoá 256 bít, được thiết kế dựa trên mạng Feistel
Tại các quốc gia khác, các sản phẩm bảo mật được phát triển dựa trên thuật toán DES, AES, có thể có các thuật toán mã khối riêng sử dụng để đảm bảo bí mật thông tin trong an ninh - quốc phòng nhưng được giữ bí mật không công bố
1.3.2 Tổng quan tình hình nghiên cứu trong nước
Trong nước hiện nay chỉ có Ban Cơ yếu Chính phủ nghiên cứu về các thuật toán mật mã khối dùng trong lĩnh vực an ninh, quốc phòng Nhà nước ta cũng chưa công bố chuẩn thuật toán mật mã khối quốc gia sử dụng trong kinh tế - xã hội mà vẫn sử dụng các chuẩn mật mã quốc tế như AES
Ban Cơ yếu Chính phủ đã được Đảng, Nhà nước cho xây dựng Chương trình phát trình phát triển khoa học Ngành Cơ yếu (KCM) Có rất nhiều nghiên cứu chuyên sâu trong lĩnh vực khoa học công nghệ mật mã Kết quả từ các đề tài khoa học đã được ứng dụng để bảo mật thông tin trong lĩnh vực an ninh quốc gia Tuy
nhiên, những kết quả đều được quản lý “MẬT” nên tác giả không đề cập đến trong
luận án Ngoài ra, một số nghiên cứu về giải pháp bảo mật đã được công bố như kết
quả đề tài cấp Nhà nước KC.01.01 “Nghiên cứu một số vấn đề bảo mật và an toàn thông tin cho các mạng dùng giao thức liên mạng IP” Đề tài đã nghiên cứu một số
công nghệ, giải pháp nhằm đảm bảo an toàn, an ninh thông tin cho các mạng dùng
Trang 29giao thức IP, từ đó đề xuất mô hình phù hợp đặc điểm sử dụng ở Việt Nam, ứng dụng các giải pháp bảo mật vào thương mại điện tử và Chính phủ điện tử.
1.4 Hướng nghiên cứu của luận án
Dựa trên các nghiên cứu về thuật toán mật mã khối và các phương pháp thực hiện thuật toán, chúng ta nhận thấy rằng: Các thuật toán mật mã hiện nay đang sử dụng để bảo mật cho dữ liệu thời gian thực trên mạng IP chưa được thiết kế riêng để phù hợp cho những ứng dụng chuyên biệt như ứng dụng thời gian thực Các thuật toán thường được thiết kế cho tích hợp được cả trên phần cứng và phần mềm nên khi sử dụng các thuật toán này cho thiết kế các thiết bị mật mã chuyên dụng thì các thuật toán không chạy với hiệu năng cao nhất Do đó, làm giảm chất lượng dịch vụ
Từ đó, luận án tập trung nghiên cứu, phát triển thuật toán mật mã khối mới có khả năng tích hợp cao trên các nền tảng phần cứng chuyên dụng FPGA, làm cơ sở để thiết kế các thiết bị mật mã chuyên dụng để bảo mật dữ liệu thời gian thực trên mạng IP
1.5 Một số cơ sở lý thuyết trong phát triển thuật toán mật mã khối
1.5.1 Hàm logic (hàm boole)
Như đã biết, trường hữu hạn nhỏ nhất có bậc 2 và ký hiệu (2) Nó có hai phần tử được ký hiệu là 0 và 1 và được gọi là các giá trị logic hoặc các bit Trên trường này, phép cộng của hai bit phù hợp với phép toán XOR, thường được ký hiệu là ‘’, phép nhân của hai bit được thực hiện theo phép toán AND, thường được ký hiệu là ‘ ’
Định nghĩa 1.1 Vector có các tọa độ là các bit được gọi là vector logic
Hai vector logic cùng kích thước thì ta có thể áp dụng phép toán trên bit
Định nghĩa 1.2 Hàm : (2) → (2) là hàm logic nếu có một ánh xạ từ vector logic có kích thước đến vector logic khác có kích thước
Nếu đầu ra của là một bit đơn ( = 1), khi đó nó được gọi là hàm logic nhị phân Đối với hàm logic nhị phân, kết quả của dãy nhị phân được gọi là bảng giá trị chân
lý
Trang 30Định nghĩa 1.3 Hàm logic : (2) → (2) được gọi là hàm logic cân bằng nếu bảng giá trị chân lý có 2 giá trị là 0 hoặc 1 (tức số giá trị bằng 0 và số giá trị bằng 1 là bằng nhau)
Định nghĩa 1.4 Hàm logic : (2) → (2) là Affine nếu nó được biểu diễn dưới dạng:
Định nghĩa 1.6 Khoảng cách Hamming giữa 2 hàm logic , : (2) ⟶
(2) (kí hiệu: ( , ))được xác định bằng khoảng cách Hamming của bảng giá trị chân lý của hàm ( ) ⨁ ( ), tức ( , ) = ( ( ) ⨁ ( ))
1.5.2 Mật mã khối
1.5.2.1 Khái niệm chung
Mật mã khối là phương thức cho phép mã hóa trên một nhóm các bit (khối) với độ dài nào đó, lần lượt mỗi khối được mã hoặc giải mã Kích thước mỗi khối thường là 64 bit hoặc lớn hơn Các tham số quan trọng của mã hóa khối là kích thước (độ dài) của mỗi khối, kích thước khóa, cấu trúc của vòng mã hóa cơ sở, Các mã khối đều được xây dựng dựa trên ý tưởng của Shannon đưa ra năm 1949 [6]
1.5.2.2 Phương pháp thiết kế mật mã khối
a Cấu trúc thiết kế
Xuất phát từ ý tưởng của Shannon, một số cấu trúc mã hóa khối cơ sở đã được
đề xuất Trong số đó, cấu trúc mạng Feistel (Feistel network) và mạng hoán vị thay thế (Substitution Permutation Network - SPN) là 2 cấu trúc mã hóa khối được sử dụng phổ biến trong việc phát triển các thuật toán mã hóa khối hiện nay
Cấu trúc Feistel [6]
Trang 31Horst Feistel đề xuất ra cấu trúc Feistel dựa trên mã tích nghịch đảo được, tức
là kết hợp mã thay thế với mã hoán vị và qui trình mã/giải mã là giống nhau, quá trình giải mã chỉ cần thay đổi vai trò khối bản mã với khối bản rõ và thứ tự các khoá con được dùng Từ khóa chính sẽ sinh ra cho mỗi vòng mã hóa một khóa con tương ứng Quy trình thực hiện được mô tả trong hình 1.2
Hình 1.2 Cấu trúc mạng Feistel
Cấu trúc SPN [6]
Cấu trúc SPN là một trong các cấu trúc được sử dụng chung nhất trong các
mã khối Cấu trúc SPN được dựa trên các nguyên tắc của Shannon về tính hỗn loạn (confusion) và khuếch tán (diffusion) Các nguyên tắc này được thực hiện thông qua
Trang 32việc sử dụng các phép thay thế và các phép hoán vị Quy trình thực hiện được mô tả như trong hình 1.3
b Tiêu chuẩn thiết kế
b1.Tiêu chuẩn thiết kế chung
Các tiêu chuẩn chung sau đây được chấp nhận bởi phần lớn các nhà mật mã học Nó bao gồm: độ an toàn, tính hiệu quả, tính linh hoạt của khóa và tính đa dụng Ngoài ra còn một số các tiêu chuẩn khác như: tính đơn giản, tính đối xứng (gồm đối xứng qua các vòng, đối xứng trong biến đổi vòng, đối xứng trong hộp S, đối xứng giữa phép mã và giải mã), tính song song, tính mềm dẻo đối với thứ tự của các bước, độ dài khối thay đổi, lựa chọn một số phép toán số học
Trang 33ngưỡng an toàn cao Thách thức được đặt ra cho việc thiết kế mật mã là đề xuất một ngưỡng an toàn hợp lý trong khi tối ưu tính hiệu quả
Tiêu chuẩn về độ linh hoạt của khóa và tính đa dụng là ít vạn năng hơn Trong một số trường hợp các tiêu chuẩn này là không thích đáng bởi vì mã pháp được ngụ
ý cho một ứng dụng cụ thể và sẽ được cài đặt trên một nền tảng cụ thể
b2 Tiêu chuẩn khuếch tán
Hai nguyên tắc quan trọng đối với việc thiết kế mật mã khối đó là: Tiêu chuẩn thác lũ chặt (SAC: Strict Avalanche Criteria) và chiến lược vết rộng và số nhánh (The wide-trail strategy and the branch number)
b3 Tiêu chuẩn hỗn loạn
Các hộp S thường là phần phi tuyến trong mã hóa khối và là phần quan trọng
đầu tiên cho sự hỗn loạn Các hộp S được xây dựng từ các hàm logic phức tạp để làm mờ đi mối quan hệ giữa bản rõ, bản mã và khóa Cần tập trung vào 3 tiêu chí
cần thiết: độ phi tuyến, đặc trưng vi sai và bậc phi tuyến
Độ phi tuyến
Trang 34Độ phi tuyến của hàm logic liên quan đến khoảng cách Hamming giữa hàm và
tập tất cả các hàm Affine của hàm này Các phép xấp xỉ của các hộp S (hay các hàm Affine) có thể giúp cho kẻ tấn công có khả năng đe dọa độ an toàn của thuật toán mã
hóa khối
Định nghĩa 1.7 Độ phi tuyến (nonlinearity) của hàm logic f, ký hiệu bởi NL, là
khoảng cách Hamming nhỏ nhất giữa f và tất cả các hàm affine trên GF(2) n Nghĩa là:
NL ( ) = min , ,… ( , φ ),
ở đây 0, 1, …, 2 1 1 là các hàm affine trên GF(2) n
Đặc trưng vi sai
Do có thể ước đoán (xấp xỉ) hộp S bằng các hàm logic tuyến tính nên ta cũng
có thể nghiên cứu sự lan truyền vi sai trong các hộp S
Định nghĩa 1.8 [45].Cho hàm : {0, 1} → {0, 1} Với hàm này ta có thể có 2 giá trị vi sai đầu vào ∆ = ⊕ khác nhau và tương tự cũng có thể có 2 giá trị vi sai đầu ra ∆ = ⊕ Ta biểu diễn vi sai của của hàm f như sau: ∆ → ∆ , nó được hiểu là với vi sai đầu vào ∆ sẽ tạo ra vi sai đầu ra ∆ với xác suất p Khi đó, thông số vi sai của hàm f tương đương với xác suất của vi sai lớn nhất của nó
Bậc phi tuyến
Lars Knudsen là người đưa ra khái niệm bậc phi tuyến [27] và khái niệm này dựa vào mức độ phức tạp đại số của hàm logic Ta có thể coi đó là một khái niệm tổng quát của các khái niệm vi sai
Định nghĩa 1.9 [27] Cho : (2) → (2) là một hàm logic Đạo hàm của f tại một điểm ∈ (2) được định nghĩa như sau:
∆ ( ) = ( ⊕ ) ⊕ ( ) Đạo hàm bậc i của f tại điểm: , , … , được định nghĩa:
∆ , ,…, ( ) = ∆ (∆ , ,…, ( ))
Định nghĩa 1.10 [27] Bậc phi tuyến của : (2) → (2) , được kí hiệu ( ) là giá trị i lớn nhất mà ∆ , ,…, ( ) không phải là một hằng
Trang 35Ở đây, yêu cầu véc tơ , , … , là độc lập tuyến tính và đạo hàm bậc i không có
giá trị 0
1.6 Nguyên lý thiết kế mạng chuyển vị thay thế điều khiển được (CSPN)
CSPN là một trong các thành phần được xây dựng từ các nguyên thủy mật mã (PE) với các cấu trúc thiết kế khác nhau Để ứng dụng được trong mật mã, cấu trúc của chúng phải tuân thủ theo nguyên lý đối xứng ở các bậc khác nhau Các nguyên
lý chung này có thể tham khảo đầy đủ trong [37]
Tuy nhiên, trước khi đề cập đến việc xây dựng CSPN, luận án sẽ trình bày tóm
tắt cấu trúc của lớp phần tử nguyên thủy mật mã điểu khiển được P2/1, F2/1và F2/2
1.6.1 Lớp phần tử nguyên thủy mật mã điều khiển được P 2/1
Ứng dụng mật mã cơ bản của toán tử chuyển vị điều khiển được (CE) liên quan đến việc thực hiện phép chuyển vị bit phụ thuộc vào dữ liệu được biến đổi (Data-Dependent Permutations – DDP) Phương án ứng dụng phép toán trên, được
đề xuất lần đầu tiên trong các công trình [33,50] Các tìm kiếm sớm nhất về việc xây dựng các cấu trúc mật mã trên cơ sở CE [19, 36] liên quan đến việc ứng dụng chúng trong vai trò các phép toán phụ thuộc vào khóa của sự mã hóa Kiểu phép toán đó đòi hỏi việc sử dụng các mạng chuyển vị điều khiển được (CP)[36] Cho dù
có khả năng xây dựng các hệ mật mã bền vững trên cơ sở ứng dụng CE phụ thuộc vào khóa đã được công bố, các mật mã được đề nghị không thể cạnh tranh với các
hệ mật mã đối xứng khác về tốc độ và tính hiệu quả khi cài đặt Nguyên nhân cơ bản của vấn đề này là, phép chuyển vị bit phụ thuộc vào khóa vẫn là phép toán tuyến tính chặt chẽ, bởi vì nó bị cố định sau khi nhập khóa vào Tình thế được thay đổi về căn bản khi phép chuyển vị là phép toán biến thiên, tức là trong trường hợp thực hiện phép toán phụ thuộc vào giá trị của khối dữ liệu được biến đổi, mà giá trị
đó là đại lượng biến thiên trong khi hoạt động
CP với cấu trúc nhiều lớp [36, 37], được biểu diễn trên hình 1.4, rất phù hợp
để thực hiện phép chuyển vị biến thiên, trong đó khối kiến trúc cơ sở là phần tử
chuyển vị P2/1, phần tử này có thể được gọi là các CE cơ sở, bởi vì nó thực hiện hai
Trang 36phép chuyển vị khác nhau của hai bit vào x1, x2 và phụ thuộc vào một bit điều khiển
v CE P2/1 được điều khiển bởi một bit v và tạo thành tại đầu ra hai bit (y1, y2), trong
đó y1x1 và y2x2 Bởi vì chỉ có hai phép chuyển vị loại đó, nên CE cơ sở thực hiện tất cả các phép chuyển vị có thể Cùng với việc tăng kích thước đầu vào của
CP, việc thực hiện tất cả các phép chuyển vị trở nên rất lớn, cho dù đối với mọi giá
trị có ý nghĩa thực tiễn của kích thước đầu vào n có thể dễ dàng xây dựng các CP
mà chúng thực hiện tất cả n! phép chuyển vị có thể Khi đó các CP là các khối toán
tử hoạt động đủ nhanh để đảm bảo tốc độ cao của việc mã hóa trên cơ sở các phép
chuyển vị biến thiên Trong các CP nhiều lớp, số các lớp chủ động s liên quan tới các thông số m và n như sau: s = 2m/n
1 / 2
(a) CE P2/1, (b) cấu trúc một lớp chủ động, (c) cấu trúc CP nhiều lớp, (d) CE P-1n/m
Một CP bất kỳ sẽ thực hiện một tập các phép chuyển vị khác nhau, tương ứng
với các giá trị khác nhau của véctơ điều khiển V Tương ứng với số lớp, véctơ V có thể được biểu diễn giống như sự hợp nhất của s véctơ V V1, 2, , V s GF(2n/2), tức
nào đó được thực hiện CP Pn/m có thể được mô tả với sự trợ giúp của tập được
Trang 37V là phép chuyển vị cố định n bit Chúng ta sẽ gọi các phép
chuyển vị V là các biến thể của CP Việc thực hiện thao tác của CP Pn m V/ X
nằm ở chỗ thực hiện phép chuyển vị V trên X: Y Pn m V/ X V X
Định nghĩa 1.11 Giả sử đối với giá trị cho trước d n, với các bộ ngẫu nhiên các chỉ số 1, 2, ,h và 1, 2, ,h, tồn tại ít nhất một giá trị của véctơ điều khiển
V sao cho các bit đầu vào
là tính đơn giản của việc thiết kế các CP nghịch đảo
Định nghĩa 1.12 Các CP Pn m/ và Pn m/1 được gọi là nghịch đảo lẫn nhau, nếu đối với mọi giá trị có thể của véctơ V, các biến thể của các phép chuyển vị bit V và
Trang 38
1 s
1 1
Hình 1.5 Cấu trúc của CP thuận (a) và CP nghịch đảo (b)
Trên hình 1.5 biểu diễn sơ đồ xây dựng các CP thuận và nghịch đảo có nhiều lớp trong trường hợp tổng quát Yếu tố đặc trưng của việc xây dựng trên đó là các thành phần của véctơ điều khiển V V V1, 2, , Vs được phân bố theo các lớp chủ động trong các bậc khác nhau Trong khối thuận chúng được phân bố bắt đầu từ đầu vào đến đầu ra (từ trên xuống dưới), còn trong khối nghịch đảo – từ đầu ra đến đầu vào (từ dưới lên trên), đồng thời, sự đánh số các tầng trong cả hai khối được thực hiện như nhau – từ đầu vào đến đầu ra Như vậy, thành phần V lđiều khiển lớp chủ
động thứ l trong CP thuận và lớp s l 1 trong CP nghịch đảo CP có nhiều lớp có thể được xem như ma trận của các phần tử chuyển mạch cơ sở được đánh số liên tiếp từ trái sang phải, từ trên xuống dưới trong CP thuận, và từ phải sang trái, từ
dưới lên trên trong CP nghịch đảo, còn bit thứ i của véctơ V điều khiển phần tử
Trang 391.6.2 Lớp phần tử nguyên thủy mật mã điều khiển được F 2/1
Phần tử nguyên thủy mật mã điều khiển được F2/1[36, 37] được mô tả trên hình 1.6 Trong đó:
- F2/1 được biểu diễn ở dạng tổng quát (hình 1.6a);
- F2/1 được biểu diễn như một cặp hàm boole (Boolle Function – HB) f1, f2
với 3 biến vào, với y1 = f1(x1, x2, v); y2 = f2(x1, x2, v) (hình 1.6b) Có thể xây dựng được rất nhiều cặp HB (f1, f2) khác nhau từ 3 biến vào;
- F2/1 được biểu diễn như là cặp hai hộp thế F(0)2/1và F(1)2/1 Ở đây, nếu v = 0
thì CE thực hiện phép thế F(0)2/1 và nếu v = 1 thì CE thực hiện phép thế
F(1)2/1 Hay nói cách khác là giá trị của véc tơ điều khiển sẽ lựa chọn phép thế cơ bản tương ứng
Trang 40Hình 1.6 Cấu trúc biểu diễn của CE F 2/1
a Mô tả ở dạng tổng quát; b Hàm Boole với 3 biến vào; c Dạng 2 phép thế; d
CE thuộc loại P2/1; e Đặc trưng vi sai của F2/1
Hệ thức biểu diễn mỗi quan hệ giữa cách biểu diễn thông qua cặp HB và cặp phép thế như trên được cho bởi biểu thức sau:
Cũng theo [37], có nhiều biến thể CE khác nhau Từ F2/1, sử dụng các cấu trúc
thiết kế khác nhau sẽ xây dựng được các khối mở rộng Fn/m Thông thường, các khối
Fn/m sẽ được thiết kế với cấu trúc đồng nhất, tức là cấu trúc được xây dựng từ một
lớp phần tử F2/1 thuộc một loại CE nhất định Để sử dụng được các phần tử này