Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 141 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
141
Dung lượng
2,93 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ HOÀNG VĂN QUÂN NGHIÊN CỨU GIẢI PHÁP NÂNG CAO HIỆU QUẢ BẢO MẬT THÔNG TIN TRÊN MẠNG TRUYỀN SỐ LIỆU ĐA DỊCH VỤ LUẬN ÁN TIẾN SĨ KỸ THUẬT HÀ NỘI - 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHỊNG VIỆN KHOA HỌC VÀ CƠNG NGHỆ QUÂN SỰ HOÀNG VĂN QUÂN NGHIÊN CỨU GIẢI PHÁP NÂNG CAO HIỆU QUẢ BẢO MẬT THÔNG TIN TRÊN MẠNG TRUYỀN SỐ LIỆU ĐA DỊCH VỤ Chuyên ngành: Mã số: Kỹ thuật điện tử 62 52 02 03 LUẬN ÁN TIẾN SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LỀU ĐỨC TÂN TS HOÀNG NGỌC MINH HÀ NỘI - 2016 i LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng tơi Các nội dung, số liệu kết trình bày luận án hồn tồn trung thực chưa có tác giả cơng bố cơng trình khác, liệu tham khảo trích dẫn đầy đủ Người cam đoan Hoàng Văn Quân ii LỜI CÁM ƠN Luận án thực Viện Khoa học Cơng nghệ Qn - Bộ Quốc phịng Tơi xin bày tỏ lòng biết ơn sâu sắc tới TS Lều Đức Tân TS Hoàng Ngọc Minh, thầy tận tình giúp đỡ, trang bị phương pháp nghiên cứu, kinh nghiệm, kiến thức khoa học kiểm tra, đánh giá kết suốt trình nghiên cứu luận án Xin trân trọng cám ơn Viện Khoa học Cơng nghệ Qn sự, Phịng Đào tạo, Viện Điện tử sở đào tạo đơn vị quản lý, đồng chí lãnh đạo, huy Cục Cơ yếu - Bộ Tổng Tham mưu – nơi công tác tạo điều kiện thuận lợi, hỗ trợ giúp đỡ tơi suốt q trình học tập, nghiên cứu thực luận án Xin chân thành cám ơn thầy, cô Viện Khoa học Công nghệ Quân sự, Viện Điện tử, nhà khoa học, đồng nghiệp thuộc Trung tâm Nghiên cứu Kỹ thuật Mật mã – Cục Cơ yếu, Viện Khoa học Công nghệ Mật mã/Ban Cơ yếu Chính phủ giúp đỡ, hỗ trợ suốt thời gian qua Cuối cùng, tơi xin bày tỏ lịng thành kính ln ghi nhớ cơng ơn cha mẹ, gia đình, người thân xin dành lời cảm ơn đặc biệt tới vợ con, người đồng hành, động viên chỗ dựa mặt giúp vượt qua khó khăn để có kết nghiên cứu ngày hôm Tác giả iii MỤC LỤC Trang DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vi DANH MỤC CÁC BẢNG ix DANH MỤC CÁC HÌNH VẼ x MỞ ĐẦU…………………………………….……………………………… Chương T NG QUAN V T U AN TOÀN VÀ BẢO M T T ONG MẠNG N Ố LIỆU ĐA D CH VỤ Đặc điểm mạng truyền số liệu đa dịch vụ An toàn bảo mật mạng truyền số liệu đa dịch vụ Một số khái niệm chung 2.2 Các chế an ninh dựa mật mã 11 Vị trí đặt dịch vụ an ninh th o mơ hình mạng phân tầng 14 Ý ngh a việc sử dụng mật mã bảo mật tầng IP 15 2.5 Bảo mật mạng truyền số liệu đa dịch vụ 18 Giao thức bảo mật cho mạng truyền số liệu đa dịch vụ 22 Giao thức bảo mật IP Kiến trúc IP c 22 c 22 Modul thiết lập A 24 Giao thức E P 24 Giao thức AH 25 Giao thức trao đổi khóa IKEv2 IP c 26 Hạn chế giải pháp bảo mật đề xuất hướng giải 27 1.4.1 Một số hạn chế giải pháp bảo mật 27 1.4.2 Đề xuất nội dung nghiên cứu luận án 28 Giao thức trao đổi khóa Diffi -H llman kết hợp ECC 28 iv Đặt vấn đề 28 5.2 Giao thức trao đổi khóa ECDH 31 Cơng nghệ để cứng hóa mật mã 34 1.7 Kết luận Chương 35 Chương N NG CAO HIỆU QUẢ TH C HIỆN PH P NH N ĐI M C A ECC CHO GIAO TH C T AO Đ I KH A 36 2.1 Phép nhân điểm đường cong lliptic 36 Một số thuật toán nhân điểm lliptic trường GF(2n) 36 .2 Thuật toán nhân điểm Elliptic dựa triển khai số ngun th o NAF tính tốn trực tiếp 40 2.2 Xây dựng cơng thức tính số xung nhịp máy trung bình để cộng hai số nguyên thực phần cứng 43 2.2 Cơ sở đề xuất 43 2.2.2 Mạch cộng hai số nguyên phân phối xác suất đại lượng F(k) 43 2.2 Kết tính tốn số AAF(k) AAF(k,M) 51 2.2 ng dụng kết 55 Thực thuật toán nhân điểm phần cứng FPGA 55 Phương pháp thiết kế chung 55 .2 Lựa chọn đường cong lliptic 56 Mơ hình cứng hóa thuật toán nhân điểm 56 Kết thực 71 Kết luận Chương 74 Chương N NG CAO HIỆU QUẢ TH C HIỆN THU T TOÁN M DỮ LIỆU T ONG BẢO M T MẠNG T U H A N Ố LIỆU 76 Cơ sở lý thuyết 76 Các mã khối có cấu trúc PN 76 v Các tiêu chí đánh giá xây dựng tầng tuyến tính hiệu quả, an tồn cho mã khối có cấu trúc PN 78 Chuẩn mã hóa liệu AE 81 3.3 Đánh giá số ma trận MDS mã pháp dạng AE 85 Một số định ngh a 85 Đánh giá số ma trận MD sử dụng mã pháp dạng AE 87 Đề xuất ma trận MD để cải tiến tầng tuyến tính cho mã pháp dạng AE 91 3.4.1 Đề xuất ma trận MD đánh giá hiệu hoạt động 92 3.4.2 Phân tích cài đặt ma trận th o quan điểm phần mềm 96 3.4.3 Điểm bất động tầng tuyến tính th o ma trận đề xuất 99 3.4.4 Kết cài đặt thực nghiệm FPGA 100 Kết cài đặt AE chuẩn AE với ma trận MD đề xuất 102 Kết luận Chương 103 KẾT LU N 105 DANH MỤC CÁC CƠNG T ÌNH KHOA HỌC Đ CÔNG BỐ 107 TÀI LIỆU THAM KHẢO 108 vi DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT E Ký hiệu đường cong elliptic O Điểm vô cực đường cong lliptic G Một điểm E sinh nhóm cyclic cấp N KA Khóa bí mật A KB Khóa bí mật B p ,GF(p) Ký hiệu cho trường hữu hạn chứa p phần tử với p số nguyên tố #{(X,Y) Lực lượng tập X, #(a) Lực lượng a #(b) Lực lượng b x1, y1 Tọa độ điểm P đường cong E x2, y2 Tọa độ điểm Q đường cong E x3, y3 Tọa độ điểm Rank(A) Hạng ma trận A ATM1 An toàn mạng ATM2 An tồn mạng AES Chuẩn mã hóa liệu mở rộng (Advanc d Encryption tandard) AH Giao thức tiêu đề xác thực (Authentication Header) ASIC Mạch tích hợp cho ứng dụng đặc biệt (Application Specific Integrated Circuit) ATM Phương thức truyền tải không đồng (Asynchronous Transfer Mode) DLP Bài toán logarith rời rạc (Discrete Logarithm Problem) DoS Tấn công từ chối dịch vụ (Denial of Service ) DDoS Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service) DTLS Bảo mật gói liệu tầng giao vận (Datagram Transport Layer Security) DH Diffie-Hellman (Elliptic Curve) đường cong E vii EC Đường cong lliptic ECADD Phép cộng hai điểm khác (Elliptic Curve ADD) ECC Hệ mật Elliptic (Elliptic Curve Cryptosystem) ECDBL Phép nhân đôi (phép cộng hai điểm giống - EC Double) ECDH Bài toán Diffie-Hellman Elliptic (Elliptic Curve DiffieHellman) ECDLP Bài toán logarith rời rạc đường cong lliptic (Elliptic Curve Discrete Logarithm Problem) ECDSA Thuật toán chữ ký số Elliptic (Elliptic Curve Digital Signature Algorithm) ESP Encapsulating Security Payload FPGA Mảng cổng lập trình dạng trường (Field Programmable Gate Array) GCD Tìm ước số chung lớn (Gr at st Common Divisor) IP Giao thức liên mạng (Internet Protocol) IDPS Hệ thống phát ngăn chặn truy cập (Intrusion Detection Pevention System) IPSec Giao thức bảo mật (IP Security Protocol) IKE Trao đổi khóa (Internet Key Exchange) ISO Tổ chức Tiêu chuẩn quốc tế (International Organization for Standardization) MPLS Chuyển mạch nhãn đa giao thức (Multi Protocol Label Switching) MDS Phân tách có khoảng cách cực đại (Maximum Distance Separable) NAF Dạng không liền kề (Non Adjacent Form) LAN Mạng cục (Local Area Network) LC Tế bào logic (Logic Cell) LE Phần tử logic (Logic Element) MPPE Mã hóa điểm tới điểm (Microsoft Point to Point Encryption) viii OSI Mơ hình tương tác hệ thống mở (Open Systems Interconnection ) SPN Mạng thay - hoán vị (Substitution Permutation Network) RSA Thuật tốn mã khóa cơng khai iv st, hamir Adl man VPN Mạng riêng ảo (Virtual Private Network) VHDL Ngôn ngữ mô tả phần cứng (Verilog Hardware Description Language) PHỤ LỤC: MỘT SỐ MODULE THỰC HIỆN PH P NHÂN ĐI M A.1 Giới thiệu cấu tr c kít phát tri n FPGA Zynq ZC706 Với phân tích việc lựa chọn công nghệ phần cứng FPGA để thực thuật tốn mật mã, luận án lựa chọn phần cứng có khả phù hợp họ Zynq Xilinx, cụ thể bảng mạch phát triển ZC70 với chíp xử lý Znq7Z0 5FFG900- Xilinx tích hợp xử lý nhúng A M cort x A9 [60], [61] họ linh kiện cung cấp xử lý số học chuyên dụng tốc độ cao tài nguyên nhớ lớn, phù hợp cho nhiều ứng dụng như: xử lý tín hiệu số, phát triển hệ thống nhúng, ứng dụng mạng, thực thi tốn tính toán phức tạp ZC70 Evaluation Kit cung cấp nhiều tính trội như: Chip FPGA xử lý trung tâm XC7Z045: XC7Z0 chip FPGA hệ thứ Xilinx dựa cơng nghệ 28 nm có mật độ tích hợp cao, cung cấp tới 50.000 khối logic C lls, 900 khối D P, 80 Kb block AM Ngoài ra, XC7Z0 có tính mạnh họ Zynq 7000 như: tích hợp cor vi xử lý cứng A M cort x A9 (2 cor ), hỗ trợ chuẩn truyền dẫn tốc độ cao PCI , U B 2.0 Hỗ trợ giao ti p với thi t bị lưu giữ nhớ với dung lượng lớn: Ngoài nhớ (Block Ram) tích hợp chip, ZC70 Evaluation Kit có hỗ trợ nhớ mở rộng với chuẩn DD gồm 02 khối, GB cho khối PL GB cho khối P Ngồi ra, board cịn tích hợp điều khiển D card, cho phép truy xuất liệu card D lưu giữ cấu hình khác cho FPGA Hỗ trợ nhiều chuẩn ngoại vi: ZC70 Evaluation Kit hỗ trợ nhiều chuẩn giao tiếp với máy tính như: cổng Eth rn t với tốc độ truyền 0/ 00/ 000 Mb, PCI , cổng U B 2.0 OTG JTag, cổng U B UA T, Board cịn có kh cắm mở rộng, kh hỗ trợ ngoại vi tốc độ cao kh hỗ trợ ngoại vi tốc độ thấp Hình A.1 Kit hát tri n Z 706 valuation Kit Xilinx ZC 70 bảng mạch phát triển xử lý nhúng Zynq-7000 XC7Z0452FFG900C AP SoC cung cấp môi trường phần cứng cho việc phát triển nhúng XC7Z0 AP oC tích hợp khn gồm: Hệ thống xử lý (PSprocessing system), lơgics lập trình (PL-programmable logic) Hệ thống xử lý tích hợp 02 xử lý ứng dụng A M® Cort x™-A9 MPCor ™, AMBA® đường kết nối nhớ bên trong, giao diện nhớ thiết bị ngoại vi gồm: U B, Eth rn t, PI, D/ DIO, I2C, CAN, UA T, and GPIO Hình A.2 Sơ đồ khối kiến trúc kít Zynq-7000 XC7Z045-2FFG900C Chip XC7Z045-2FFG900C AP SoC [61] thuộc dòng Kint x-7 FPGA Xilinx có cấu trúc tích hợp mật độ cao với 900 chân vào ra, 50.000 Logic Cells, 218.600 Look-Up Tables (LUTs), 437.200 Flip-Flops, 2.180KB RAM, ngồi cịn cung cấp: - Hoạt động với tần số xung nhịp clock lên đến GHz - Giao diện PCI Expr ss - 08 mạch vịng khóa pha PLL nhúng Thành phần nhỏ chip FPGA Zynq (họ Kint x-7 XILINX cấu trúc) gọi logic element (LE) Về LE bảng tra (lookup table-LUT) với đầu vào sở cấu trúc AM ghi trạng thái, kết hợp với hàm logic đầu vào lưu giữ ghi lại LE Mỗi LE hoạt động chế độ: chế độ thông thường chế độ số học động Với cấu trúc đặc trưng vậy, chip Zynq XILINX có khả thực logic cộng, trừ với tốc độ cao, phù hợp với mục đích thiết kế cứng hóa thuật tốn mật mã Bảng ác thơng số kỹ thuật kít Zynq-7000 Bộ xử lý ARM cortex A9: Bộ xử lý A M Cort x A9 xử lý nhúng hãng Xilinx chế tạo dựa công nghệ FPGA giống vi điều khiển máy tính chíp bao gồm CPU, thiết bị ngoại vi nhớ chíp đơn Bộ xử lý A M Cort x A9 cung cấp: - Thiết lập thị bít, đường dẫn liệu khơng gian địa - ghi mục đích chung - nguồn ngắt - Bộ nhân đơn 2x chia kết bit - Truy cập tới ngoại vi khác chíp, giao diện với nhớ ngoại vi ngồi chíp - Mơi trường phát triển phần mềm dựa công cụ GNU C/C++ A[31:0] control address register P C incrementer PC register bank instruction decode A L U b u s multiply register & A B b u s b u s barrel shifter control ALU data out register data in register D[31:0] Hình A.3 tả khối chức xử lý R System specification Design Verification Design Entry Behavioural Simulation RTL(VHDL, Verilog, Schematic) Synthesis Functional Simulation Synthesis constraints Netlist (edit, propietary) Implementation Post Implementation Simulation Timmimg Simulation Mapping Place & Route Back annotation Implementation constraints (pads and Timming) Netlist (propietary) Generate Prpgram File In-circuit Testing Program Tool Bitstream Hình A.4 Mơ tả bước thiết kế FPG A.2 Mã nguồn VHDL thực phép nh n i m Company: CCYBTTM Engineer: HOANG VAN QUAN - Create Date: 14:13:19 03/06/2015 Design Name: Module Name: nhan_diem - Structureal Project Name: Target Devices: Tool versions: Description: - Dependencies: - Revision: Revision 0.01 - File Created Additional Comments: - -library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; use work.ecc_pkg.all; Library UNISIM; use UNISIM.vcomponents.all; entity nhan_diem is port ( xP, yP, k: in STD_LOGIC_VECTOR (282 downto 0); clk, reset, start: in std_logic; xQ, yQ: out STD_LOGIC_VECTOR (282 downto 0); done: out std_logic); end nhan_diem; architecture Structure of nhan_diem is signal p_Yp, p_Yp0 : std_logic_vector (282 downto 0); signal a, next_a, a_add_carry, a_add_carry_div2: std_logic_vector(282 downto 0); signal xP0, yP0, next_xQ, next_yQ, New_XP0,New_YP0,New_XQ,New_YQ,yp0_tp: std_logic_vector(282 downto 0); signal P_en, Q_en, ab_en, load, sel_1, start_addition, addition_done, start_double, double_done, Q_infinity, aEqual1, ce_carry: std_logic; signal sel_2: std_logic_vector(1 downto 0); signal carry : integer range -1 to 1; subtype states is natural range to 18; signal TT: states; signal xQ_tmp, yQ_tmp : std_logic_vector(282 downto 0); begin with sel_1 select yp0_tp xQ_tmp, y2 => yQ_tmp, clk => clk, reset => reset, start => start_addition, x3 => New_XQ, y3 => New_YQ, done => addition_done); nhan_doi: point_double port map( x1 => xP0, y1 => yP0, clk => clk, reset => reset, start => start_double, x3 => New_XP0, y3 => New_YP0, done => double_done); register_P: process(clk) begin if clk' event and clk = '1' then if reset = '1' then xP0 '0'); yP0 '0'); elsif load = '1' then xP0