1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Kỹ thuật điện tử: Nghiên cứu, cải tiến Ipsec trên nền tảng FPGA

138 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TP HCM

Cán bộ hướng dẫn khoa học: PGS.TS Hoàng Trang (Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Cán bộ chấm nhận xét 1: TS Bùi Trọng Tú (Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Cán bộ chấm nhận xét 2: TS Nguyễn Minh Sơn (Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 17 tháng 09 năm 2020

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 PGS.TS Hồ Văn Khương – Chủ tịch Hội đồng

2 TS Bùi Trọng Tú – Phản biện 1 3 TS Nguyễn Minh Sơn – Phản biện 2 4 TS Nguyễn Lý Thiên Trường – Thư ký 5 TS Trần Hoàng Linh - Ủy viên

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ

PGS.TS Hồ Văn Khương PGS.TS Đỗ Hồng Tuấn

Trang 3

TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Võ Ngọc Hiệu MSHV : 1670554

Ngày, tháng, năm sinh: 11/05/1993 Nơi sinh: Bình Định Chuyên ngành: Kỹ thuật Điện tử Mã số : 60520203

I TÊN ĐỀ TÀI:

NGHIÊN CỨU, CẢI TIẾN IPSEC TRÊN NỀN TẢNG FPGA

II NHIỆM VỤ VÀ NỘI DUNG:

+ Tìm hiểu khái niệm và lý thuyết về IPSec

+ Nghiên cứu giải thuật mã hóa xác thực và giải mã xác thực AES-GCM 128 bits + Thiết kế và xây dựng phần cứng ở cấp độ RTL bằng ngôn ngữ Verilog

+ Nâng cao thông lượng hệ thống bằng giải thuật AES-dual core

+ Tổng hợp, mô phỏng để đảm bảo thực hiện đúng chức năng AES-GCM 128 bits + Thực hiện thiết kế trên kit FPGA: Aller Artix 7 M-2

III NGÀY GIAO NHIỆM VỤ: 11/01/2020

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 22/08/2020 V CÁN BỘ HƯỚNG DẪN : PGS.TS Hoàng Trang

Trang 4

i

Trong quá trình thực hiện luận văn cũng như trong thời gian học tập ở trường, em xin gửi lời biết ơn đến các thầy trong bộ môn điện tử đã truyền đạt và giảng dạy cho em nhiều kiến thức bổ ích Bên cạnh đó là sự cảm thông về tính chất công việc, thời gian dành cho việc học tập và tạo mọi điều kiện để chúng em nghiên cứu tốt hơn

Em vô cùng biết ơn sự hướng dẫn, chỉ bảo tận tình của thầy Hoàng Trang trong suốt thời gian qua Ngoài những kiến thức chuyên môn quý báu từ thầy, em còn học được từ thầy những kĩ năng, niềm đam mê công việc và lối sống đó là những điều sẽ giúp ích rất nhiều cho chặng đường tiếp theo của em trong tương lai

Em xin cảm ơn các thầy và các bạn trong phòng thí nghiệm 209B3 đã tạo điều kiện, giúp đỡ và hỗ trợ để em hoàn thành luận văn

Sau cùng xin cảm ơn đến gia đình đã là điểm tựa về vật chất lẫn tinh thần để con có thể hoàn thành chặng đường này

Trong quá trình thực hiện luận văn cũng không tránh khỏi những điều thiếu sót

và hạn chế, kính mong quý thầy cô thông cảm và góp ý Em xin chân thành cảm ơn!

Tp Hồ Chí Minh, ngày 10 tháng 10 năm 2020

Học viên

Võ Ngọc Hiệu

Trang 5

ii

Luận văn trình bày một phương pháp bảo mật lớp IP, IP security, hay gọi tắt là IPSec IPSec là một phương pháp được đánh giá có nhiều ưu điểm cho vấn đề bảo mật mạng internet hiện nay, đặc biệt trong bối cảnh có nhiều cuộc tấn công mạng và an toàn thông tin trên mạng được đặt lên hàng đầu trong các lĩnh vực thương mại điện tử, tài chính, ngân hàng, …

Dựa trên nhu cầu đó, đề tài trình bày một giải thuật mã hóa và giải mã thông dụng nhất hiện nay là AES (Advanced Encryption Standard) kết hợp với hàm GCM để tạo ra một IP (Intellectual Property) của hàm GCM – AES 128 bits có chức năng thực hiện mã hóa xác thực và giải mã xác thực đảm bảo chuẩn IPSec

Luận văn này cũng cải tiến thông lượng của hệ thống bằng cách sử dụng đồng thời 2 bộ xử lý AES để tăng tốc quá trình mã hóa, giải mã Giải thuật này được gọi là AES-GCM dual core

Tiến trình thực hiện đề tài được thể hiện như sau: Tiến hành thực hiện dựa trên đặc tả hệ thống của thiết kế bằng cách sử dụng 2 bộ xử lý AES Thiết kế và xây dựng phần cứng ở cấp độ RTL dựa trên ngôn ngữ lập trình Verilog Viết testbench cho thiết kế và tiến hành tổng hợp và mô phỏng Tổng hợp thực nghiệm và chạy trên kit FPGA Aller Artix 7 sử dụng phần mềm Vivado Kiểm tra và đánh giá các báo cáo hiệu năng sau quá trình thực hiện

Thiết kế đã hoạt động đúng với chức năng mã hóa xác thực và giải mã xác thực đạt chuẩn IPSec GCM – AES 128 bits, tổng hợp thành công và thực hiện đúng chức năng khi chạy với kit FPGA Aller Artix 7 với tần số 100 MHz

Đề tài có thể mở rộng và phát triển thêm để đạt được hiệu năng tốt hơn và ứng dụng thực tế vào việc thiết kế một router bảo mật với IPSec có chức năng bảo vệ, bảo mật an toàn thông tin mạng

Trang 6

iii

The thesis presents a method of IP security, or referred to as IPSec IPSec is a method that has been assessed to have many advantages for current internet security, especially in the context of many cyber attacks and cyber-information security at the forefront of commercial areas e-commerce, finance, banking,

Based on that requirement, the topic presenting one of the most popular encryption and decryption algorithms is AES (Advanced Encryption Standard) combined with GCM function to create an IP (Intellectual Property) GCM - AES 128 bits with authentication encryption and decryption function to ensure IPSec standard

This thesis also improves the throughput of system by using dual AES cores for accelerate encrypt and decrypt process This method is calling AES-GCM dual core

The process of implementing the project is shown as follows: Carry out the implementation based on the system specification of the design using dual AES core Design and build hardware at RTL level based on Verilog programming language Write testbench for design, run synthesis and simulation Experimental synthesis, implementation and running on FPGA Aller Artix 7 kit using Vivado software Check and evaluate performance reports after implementation

The topic can be expanded and further developed to achieve better performance and practical application in the design of an IPSec router with the function of securing, protecting network information security

Trang 7

iv

Học viên xin cam đoan đây là công trình nghiên cứu của bản thân dưới sự hướng dẫn trực tiếp của thầy Hoàng Trang, cùng với một số hỗ trợ của nhóm nghiên cứu phòng lab 209B3 khoa Điện – Điện tử, đại học Bách Khoa thành phố Hồ Chí Minh Các kết quả nghiên cứu và các kết luận trong đề tài là trung thực, không sao chép từ bất cứ nguồn nào và chưa từng được công bố trước đây với bất cứ hình thức nào Trong quá trình nghiên cứu và thực hiện, đề tài có tham khảo các tài liệu trong và ngoài nước có liên quan Sự tham khảo này là quan trọng và cần thiết cho đề tài Việc tham khảo các nguồn tài liệu đã được trích dẫn và ghi rõ nguồn tham khảo theo đúng quy định

Tp Hồ Chí Minh, ngày 10 tháng 10 năm 2020

Học viên

Võ Ngọc Hiệu

Trang 8

1.2 Đối tượng và phạm vi nghiên cứu 1

1.2.1 Đối tượng nghiên cứu 1

1.2.2 Phạm vi nghiên cứu 1

1.3 Mục tiêu và nội dung đề tài 1

1.4 Bố cục của luận văn 2

2 GIỚI THIỆU 3

2.1 Sơ lược về IPSec 3

2.1.1 Tổng quan về lịch sử của IPSec 3

2.1.2 Tổng quan về chức năng của IPSec 3

2.2 Chuẩn IPSec 4

2.3 Hoạt động chung, các thành phần và giao thức của IPSec 5

2.3.1 Giao thức cốt lõi IPSec 5

2.3.2 Chế độ hoạt động của IPSec 6

2.3.3 Vai trò và lợi ích của IPSec 6

2.4 Ưu điểm và tính ứng dụng của IPSec 7

2.4.1 Ưu điểm của IPSec 7

2.4.2 Một số ứng dụng của IPSec 8

2.4.3 Khuyết điểm của IPSec 8

3 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 9

3.1 Đánh giá tình hình bảo mật hiện tại 9

3.2 Bảo mật cơ sở hạ tầng mạng 9

3.3 Yêu cầu cho một ứng dụng bảo mật thành công 10

3.4 Một số đề tài nghiên cứu ngoài nước tham khảo cho luận văn 11

Trang 9

4.2.1 Giới thiệu AES 25

4.2.2 Tổng quan về giải thuật AES 26

4.3.5 AES – GCM dual core 55

4.4 Giới thiệu kiến trúc IPSec dựa trên nền tảng FPGA 57

4.4.1 Khảo sát cấu hình của FPGA 57

4.4.2 Khảo sát hiệu năng của IPSec AES -GCM thực hiện trên các FPGA tham khảo 58 4.5 Các kiểu kiến trúc bảo mật xây dựng trên nền tảng IPSec 61

4.5.1 Kiến trúc lookaside 61

4.5.2 Kiến trúc flow-through 63

4.5.3 So sánh cấu trúc IPSec 64

4.5.4 Phân tích hiệu năng và chi phí 65

4.6 Tiêu đề Parser 67

4.6.1 Định dạng gói dữ liệu IPv4 ESP 67

4.6.2 Định dạng gói dữ liệu IPv6 ESP 68

5 THIẾT KẾ VÀ THỰC HIỆN 69

5.1 Quy trình thiết kế 69

5.2 Thiết kế RTL (Register Transfer Level) 70

5.2.1 Top level 70

Trang 10

5.5 Kết quả thực hiện 81

5.5.1 Tổng hợp và mô phỏng trên VCS 81

5.5.2 Kết quả mô phỏng 83

5.5.3 Tổng hợp và chạy thử trên FPGA 85

5.5.5 Phân tích hiệu năng 92

6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 101

Trang 11

viii

Hình 1.1 Giao thức cốt lõi IPSec 5

Hình 1.2 IPSec Transport mode 6

Hình 1.3 IPSec Tunnel mode 6

Hình 2.1 Gói IP bảo mật với giao thức ESP qua 2 chế độ tunnel - transport 12

Hình 2.2 Kiến trúc của hệ thống IPSec 12

Hình 2.3 Sơ đồ khối của prototype 13

Hình 2.4 Kiến trúc của cổng IPSec 14

Hình 2.5 Sơ đồ thuật toán HMAC-SHA1 15

Hình 2.6 Mối liên hệ giữa Throughput-slice trong thực hiện AES giữa các họ FPGA 21

Hình 2.7 Mối liên hệ throughput-area trong việc thực hiện AES giữa các họ FPGA 21

Hình 3.1 Sơ đồ AES 26

Hình 3.2 Sơ đồ khối các lớp AES 29

Hình 3.3 Hai phép biến đổi trong AES S-box tính toán hàm 𝐵𝑖 = 𝑆(𝐴𝑖) 31

Hình 3.4 Sơ đồ khối khóa 128 bit 35

Hình 3.5 Quản lý khóa 256 bit 36

Hình 3.6 Quản lý khóa 256 bit 37

Hình 3.7 Sơ đồ khối giải mã AES 38

Hình 3.8 Các lớp nghịch đảo của giải mã AES 39

Hình 3.9 Sơ đồ khối GCM 43

Hình 3.10 Sơ đồ khối hàm GCTR 48

Hình 3.11 Sơ đồ khối mã hóa xác thực 50

Hình 3.12 Sơ đồ khối giải mã xác thực 52

Hình 3.13 Cấu trúc AES-128 55

Hình 3.14 AES-GCM dual core giải thuật mã hóa 56

Hình 3.15 AES - GCM dual core giải thuật giải mã 56

Hình 3.16 GCTR dual core 57

Hình 3.17 Cấu hình phần cứng tham khảo cho RFC7321[89] 57

Hình 3.18 Cấu hình phần cứng tham khảo cho RFC8221 [89] 58

Hình 3.19 Khảo sát hiệu năng theo cấu hình 59

Trang 12

ix

Hình 3.21 Khái niệm hệ thống bảo mật Flow-through 62

Hình 3.22 So sánh yêu cầu máy chủ cần giữa phần mềm, lookaside và flow-through 64 Hình 3.23 Sử dụng phương pháp flow-through để thêm chức năng IKE và IPSec vào VPN chỉ sử dụng phần mềm 67

Hình 3.24 Định dạng IPv4 ESP 68

Hình 3.25 Định dạng Ipv6 ESP 68

Hình 4.1 Quy trình thiết kế IP (Intellectual Property) AES-GCM 69

Hình 4.2 Luồng dữ liệu (data path) top 70

Hình 4.3 Đặc tả top level thiết kế 70

Hình 4.4 Giao diện module top gcm aes 128 bits 71

Hình 4.5 Bộ điều khiển tín hiệu – máy trạng thái top level 71

Hình 4.6 Giao diện module gcm_aes_core 73

Hình 4.7 Bộ điểu khiển – máy trạng thái gcm_aes_core 74

Hình 4.8 Giao diện module aes_cipher_top 76

Hình 4.9 Thiết kế chi tiết khối aes cipher top 76

Hình 4.10 Bo mạch FPGA Aller Artix 7 79

Hình 4.11 Sơ đồ nguyên lý của kit 80

Hình 4.12 Kết quả dạng sóng sau khi chạy VCS 83

Hình 4.13 Kết quả mô phỏng giải mã xác thực và so sánh giá trị Tag trên VCS 85

Hình 4.14 Kết quả Message trên Vivado 86

Hình 4.15 Utilization sau khi synthesis trên FPGA 86

Hình 4.16 Kết quả công suất trên FPGA 87

Hình 4.17 Report timing trên FPGA 88

Hình 4.18 Báo cáo setup timing trên FPGA 89

Hình 4.19 Báo cáo hold timing trên FPGA 90

Hình 4.20 Layout của thiết kế sau khi implementation trên FPGA 90

Hình 4.21 Sơ đồ schematic của thiết kế trên FPGA 91

Hình 4.22 Độ trễ và độ dài gói dữ liệu đầu vào 94

Hình 4.23 Tỷ lệ độ giảm latency theo gói bytes của khóa 128 bit 95

Hình 4.24 Độ giảm latency theo các khóa khác nhau theo gói bytes 95

Trang 13

x

Hình 4.26 Tỷ lệ độ tăng thông lượng theo gói bytes của khóa 128 bit 97

Hình 4.27 So sánh về mặt slices giữa 2 phiên bản trên FPGA 98

Hình 4.28 So sánh về mặt công suất (W) giữa 2 phiên bản trên FPGA 98

Hình 4.29 So sánh hiệu suất về mặt slices trên FPGA 99

Hình 4.30 So sánh hiệu suất về mặt công suất trên FPGA 99

Trang 14

xi

Bảng 1.1 Các chuẩn IPSec 4

Bảng 2.1- Hiệu suất của Prototype cổng IPSec 13

Bảng 2.2 Kết quả của việc thực hiện thiết kế với thiết lập DES 16

Bảng 2.3 Thông lượng cho Packet 64 Bytes 16

Bảng 2.4 Thông lượng cho Packet 240 Bytes 16

Bảng 2.5 Thông lượng cho Packet 1500 Bytes 16

Bảng 2.6 Kết quả cho việc thực hiện với thiết lập AES 17

Bảng 2.7 Thông lượng cho Packet 64 Bytes 17

Bảng 2.8 Thông lượng cho Packet 240 Bytes 17

Bảng 2.9 Thông lượng cho Packet 1500 Bytes 17

Bảng 2.10 Thống kê việc thực thi AES trên dòng Xilin Virtex FPGAs 19

Bảng 2.11 Kết quả thực hiện IDEA trên dòng Xilinx 22

Bảng 2.12 Thuật toán hỗ trợ đã công bố và thực hiện trên FPGA của giải thuật băm 22 Bảng 2.13 Hiệu suất và diện tích yêu cầu trong các công bố thực hiện giải thuật băm trên FPGA 23

Bảng 3.1 Bảng liên hệ giữa chiều dài khóa và số lượng vòng lặp của giải thuật AES 27 Bảng 3.2 AES S-box 28

Bảng 3.10 Bảng tra biến đổi ngược Sub-bute 41

Bảng 3.11 Các giải pháp AES-GCM tiêu chuẩn hiện có sẵn 58

Bảng 3.12 Số chu kỳ và thông lượng dữ liệu tối đa 59

Bảng 3.13 Phạm vi lựa chọn các họ thiết bị Xilinx 60

Bảng 3.14 Các lõi AES-GCM 48 chu kỳ 60

Bảng 3.15 Các lõi AES-GCM 48 chu kỳ 60

Trang 15

xii

Bảng 3.17 So sánh hiệu năng và chi phí 3 cấu hình 66

Bảng 4.1 Các thông số cơ bản của Kit 79

Bảng 4.2 Bảng kết quả mô phỏng 84

Bảng 4.3 Bảng khảo sát độ trễ và số chu kỳ của các gói dữ liệu trên khóa 128 bits 93

Bảng 4.4 Bảng khảo sát độ trễ và số chu kỳ của các gói dữ liệu trên khóa 192 bits 93

Bảng 4.5 Bảng khảo sát độ trễ và số chu kỳ của các gói dữ liệu trên khóa 256 bits 94

Bảng 4.6 Bảng khảo sát thông lượng và số chu kỳ của các gói dữ liệu trên khóa 128 bit 96

Bảng 4.7 Bảng khảo sát thông lượng và số chu kỳ của các gói dữ liệu trên khóa 192 bit 96

Bảng 4.8 Bảng khảo sát thông lượng và số chu kỳ của các gói dữ liệu trên khóa 256 bit 96

Bảng 4.9 So sánh số lượng slices và công suất tiêu thụ 97

Bảng 4.10 So sánh hiệu suất thiết kế theo slices và công suất tiêu thụ 98 Bảng 4.11 So sánh thông lượng của thiết kế AES-GCM hiện tại với các đề tài khác 100

Trang 16

xiii

DANH SÁCH TỪ VIẾT TẮT

Trang 17

xiv

Trang 18

xv

cho khối X

bits X với bộ đếm ban đầu ICB

GHASHH (X) Ngõ ra của hàm GHASH với hash subkey H cho chuỗi bits X

Trang 19

1 1 MỞ ĐẦU

1.1 Đặt vấn đề

Trong thời đại ngày nay, mạng internet đóng vai trò quan trọng và không thể thiếu trong mọi lĩnh vực của đời sống xã hội Do đó vấn đề an ninh mạng được đặt lên hàng đầu và then chốt Hiện nay, trên thế giới đã có rất nhiều chuẩn mã hóa thông tin thực hiện được trên phần cứng lẫn phần mềm, cung cấp các giải pháp bảo mật khác nhau cho mạng internet trong đó, nổi trội hơn cả là IPSec hay còn gọi là IP security

Ở Việt Nam hiện nay, vấn đề an ninh mạng cũng không nằm ngoài xu hướng chung, vấn đề đảm bảo an toàn thông tin, bảo mật cơ sở hạ tầng mạng của các lĩnh vực trọng yếu là cần kíp Trong bối cảnh đó, để đáp ứng nhu cầu về bảo mật hạ tầng mạng, cần thiết phải có thiết bị bảo mật phần cứng như router bảo mật chuyên dụng, có hỗ trợ chức năng bảo mật như IPSec Do đó, đề tài được xây dựng dựa trên nhu cầu thực tế, về một lõi IP có chức năng mã hóa xác thực và giải mã xác thực được thực hiện trên FPGA và ứng dụng vào mô-đun tăng tốc dữ liệu trên router bảo mật trong tương lai

1.2 Đối tượng và phạm vi nghiên cứu

1.2.1 Đối tượng nghiên cứu

Để thực hiện một lõi IP có chức năng mã hóa xác thực và giải mã xác thực cần khảo sát các đối tượng nghiên cứu sau:

- Nghiên cứu IPSec và các giải thuật mật mã - Các phần mềm phục vụ mô phỏng

- Lựa chọn phần cứng FPGA

1.2.2 Phạm vi nghiên cứu

- Nghiên cứu các bài báo khoa học, tạp chí liên quan đến đề tài

- Nghiên cứu giải thuật mã hóa xác thực và giải mã xác thực AES-GCM - Thiết kế bằng ngôn ngữ RTL và kiểm tra thiết kế

- Thực hiện trên kit FPGA đảm bảo chức năng cũng như tốc độ của thiết kế

1.3 Mục tiêu và nội dung đề tài

Dựa trên nhu cầu thực tế về vấn đề bảo mật mạng, cũng như đối tượng và phạm vi nghiên cứu trình bày ở các phần trên, ta có thể xây dựng các bước để tiến hành đề tài: “Nghiên cứu, cải tiến IPSec trên nền tảng FPGA” với mục tiêu và nội dung như sau:

✓ Mục tiêu đề tài: thực hiện một lõi IP có chức năng mã hóa xác thực, giải mã xác thực bằng giải thuật AES-GCM cải tiến, thực hiện được trên FPGA và lõi IP có chức năng tăng tốc việc tính toán trong ứng dụng router bảo mật

✓ Nội dung đề tài:

o Thực hiện giải thuật mã hóa xác thực và giải mã xác thực AES-GCM cải tiến sử dụng 2 nhân AES gọi là AES-GCM dual core bằng ngôn ngữ RTL o Kiểm tra chức năng của lõi IP bằng các test case chuẩn

o Tổng hợp và chạy thử trên kit FPGA

tài đã có

Trang 20

2

1.4 Bố cục của luận văn

Dựa trên yêu cầu và nhiệm vụ của đề tài, luận văn sẽ trình bày các chương với các ý chính được tóm tắt như sau:

Chương 1: Mở đầu

Chương này trình bày các phần đặt vấn đề, đối tượng và phạm vi nghiên cứu, mục tiêu và nội dung của đề tài và bố cục luận văn

Chương 2: Giới thiệu

Chương này trình bày sơ lược về chuẩn IPSec, các giao thức cốt lõi của chuẩn IPSec cũng như ưu, nhược điểm và các ứng dụng trong thực tế của IPSec

Chương 3: Tình hình nghiên cứu trong và ngoài nước

Chương này đánh giá tình hình bảo mật mạng hiện nay, tóm tắt các đề tài nghiên cứu ngoài nước làm cơ sở cho việc tham khảo và chọn giải thuật của luận văn

Chương 4: Cơ sở lý thuyết

Chương này trình bày lý thuyết bảo mật, trong đó có 2 nội dung chính là AES và GCM để kết hợp tạo thành giải thuật AES-GCM theo chuẩn Đồng thời, trình bày giải thuật mới sử dụng 2 nhân AES gọi là AES-GCM dual core

Chương cũng trình bày các kiểu kiến trúc bảo mật và định dạng gói dữ liệu ESP khác nhau

Chương 5: Thiết kế và thực hiện

Chương này trình bày quy trình thiết kế lõi IP Chi tiết việc thiết kế đường dữ liệu (data-path) và máy trạng thái

Thực hiện kết quả trên phần mềm mô phỏng VCS và tổng hợp trên FPGA Tiến hành phân tích hiệu năng dựa trên kết quả thu dược từ VCS và FPGA

Chương 6: Kết luận và hướng phát triển

Chương này trình bày những kết quả đạt được của đề tài và hướng phát triển cho đề tài

Chương 7: Tài liệu tham khảo

Chương này trình bày các tài liệu tham khảo sử dụng trong luận văn

Chương 8: Phụ lục

Các test bench và mẫu test case chuẩn phục vụ cho việc kiểm tra chức năng của thiết kế

Trang 21

3 2 GIỚI THIỆU

2.1 Sơ lược về IPSec

Một trong những điểm yếu của chuẩn IP nguyên bản là thiếu cơ chế đa năng cho phép việc đảm bảo tính xác thực và tính riêng tư của dữ liệu được truyền qua mạng Vì dữ liệu IP phải được định tuyến giữa hai thiết bị trên các mạng không xác định, nên bất kì thông tin nào giao tiếp trong đó đều có thể bị chặn và thậm chí là có thể thay đổi Với việc mạng internet ngày càng đóng vai trò quan trọng thì việc cải tiến bảo mật là cần thiết

Giao thức “IP Security” hay IPSec đã được phát triển, chương này sẽ mô tả ngắn gọn về các khái niệm và giao thức IPSec bao gồm lịch sử phát triển, công nghệ và định nghĩa của các tiêu chuẩn của bộ IPSec

2.1.1 Tổng quan về lịch sử của IPSec

Vấn đề lớn với phiên bản IP gốc (IPv4) là sự giới hạn không gian địa chỉ Tình trạng này phát sinh do sự mở rộng và phát triển nhanh chóng của mạng Internet toàn cầu vượt quá mong đợi của con người khi IPv4 được phát minh Người ta đã không tính đến sự bùng nổ của Internet như hiện nay Và hiện tại nó đã dẫn đến một vấn đề khác lớn hơn: thiếu phương tiện để đảm bảo an ninh trên mạng nội bộ IP [1]

Một số phương pháp đã phát triển qua nhiều năm để giải quyết nhu cầu về bảo mật Hầu hết trong số này đều tập trung ở những lớp cao trong sơ đồ OSI 7 lớp để bù đắp cho sự thiếu bảo mật của IP Những giải pháp này chỉ có giá trị tình huống nhất định, nhưng chúng không dễ dàng để tổng quát hóa cho toàn bộ thiết bị và ứng dụng bởi vì chúng đặc biệt khác nhau cho các ứng dụng Ví dụ: chúng ta có thể sử dụng lớp cổng bảo mật – Secure Sockets Layer (SSL) cho một số ứng dụng nhất định như truy cập “World Wide Web” hoặc giao thức truyền tệp – File Transfer Protocol (FTP), nhưng có rất nhiều các ứng dụng khác mà loại bảo mật này không thể làm việc được [1]

Do đó, điều thật sự cần thiết là một giải pháp cho phép bảo mật ở cấp độ IP, các giao thức lớp cao hơn trong TCP/IP có thể tận dụng được lợi thế của nó Khi quyết định tạo ra chuẩn IP mới (IPv6), sự thiếu bảo mật như IPv4 vẫn chưa được khắc phục triệt để và đây là cơ hội vàng để IPSec giải quyết vấn đề bảo mật Công nghệ bảo mật mới được phát triển với IPv6, nhưng do mất nhiều năm để phát triển và triển khai, và nhu cầu bảo mật hiện nay, thì giải pháp được thiết kế để có thể sử dụng cho cả IPv4 và IPv6 [1]

Công nghệ mang lại sự an toàn, bảo mật trong giao tiếp mạng IP được gọi là “IP Security”, viết tắt là IPSec hay IPSEC

2.1.2 Tổng quan về chức năng của IPSec

IPSec không phải là một giao thức đơn lẻ mà là một tập hợp các dịch vụ và giao thức cung cấp một giải pháp bảo mật hoàn chỉnh cho mạng IP Những dịch vụ và giao thức kết hợp để cung cấp tính bảo mật cho hệ thống Vì IPSec hoạt động ở lớp IP (hay lớp Network), nên nó có thể cung cấp các biện pháp bảo vệ này cho mọi ứng dụng hoặc giao thức TCP/IP lớp cao hơn mà không cần các phương pháp bảo mật bổ sung, đó là một lợi thế chính của phương pháp này so với các phương pháp khác [1] Một số loại bảo mật cung cấp bởi IPSec bao gồm:

- Mã hóa dữ liệu người dùng để bảo mật

Trang 22

ứng nhu cầu bảo mật của chúng

mode), để đáp ứng các nhu cầu bảo mật khác nhau trên các mạng khác nhau.

2.2 Chuẩn IPSec

Vì IPSec thực sự là một tập hợp các kỹ thuật và giao thức nên nó không được định nghĩa như một tiêu chuẩn Internet duy nhất Thay vào đó, sẽ có một bộ RFC định nghĩa kiến trúc, dịch vụ và giao thức cụ thể được sử dụng trong IPSec Các thông số này được thống kê ở bảng dưới, tất cả đều được công bố vào tháng 11 năm 1998 [1]:

IP Authentication Header

Xác định giao thức AH (Authentication Header), được sử dụng cho việc đảm bảo tính toàn vẹn dữ liệu và xác minh nguồn gốc dữ liệu

HMAC-MD5-96 với ESP và AH

Mô tả một thuật toán mã hóa cụ thể để sử dụng qua AH và giao thức ESP (Encapsulation Security Payload) được gọi là MD5 (Message Digest 5), biến thể HMAC

Determination Protocol

Mô tả một giao thức chung để trao đổi khóa

Trang 23

5

2.3 Hoạt động chung, các thành phần và giao thức của IPSec

IPSec cung cấp dịch vụ bảo mật ở lớp IP cho các ứng dụng và giao thức TCP/IP khác để sử dụng Điều này có nghĩa là IPSec cung cấp các công cụ mà các thiết bị trên mạng TCP/IP cần để giao tiếp an toàn Khi hai thiết bị (một trong hai là máy chủ và người dùng cuối hoặc thiết bị trung gian như bộ định tuyến – routers hoặc tường lửa) muốn tham gia vào giao tiếp bảo mật, chúng phải thiết lập một đường dẫn bảo mật giữa các thiết bị có thể đi qua nhiều hệ thống trung gian không bảo mật Để thực hiện điều này, họ phải thực hiện (ít nhất) các tác vụ sau [1]:

- Phải đồng ý về một bộ giao thức bảo mật sẽ sử dụng để mỗi người gửi dữ liệu trong một định dạng khác có thể hiểu

- Phải quyết định một thuật toán mã hóa cụ thể để sử dụng trong dữ liệu mã hóa - Phải trao đổi các khóa được sử dụng để mở khóa dữ liệu của dữ liệu đã được mã hóa - Sau khi hoàn thành các công việc nền tảng này, mỗi thiết bị phải sử dụng các giao thức, phương thức và khóa trước đó đã thảo luận để mã hóa dữ liệu và gửi dữ liệu đã má hóa đó qua mạng

2.3.1 Giao thức cốt lõi IPSec

AH và ESP là hai giao thức chính được sử dụng bởi IPSec, chúng hoạt động ở wire-level, như trong hình dưới, hai thành phần được gọi là giao thức cốt lõi - “core protocol” của IPSec [1]:

Hình 2.1 Giao thức cốt lõi IPSec

IPSec Authentication Header (AH) [1]: được sử dụng để xác thực – nhưng không mã hóa – lưu lượng IP Nó xác thực bằng cách tính toán một mã xác thực tin nhắn dựa trên mã hóa băm trên hầu hết các trường của gói IP (không bao gồm những trường có thể được sửa đổi trong quá trình chẳng hạn như header checksum), và lưu trữ như một tiêu đề (AH header) mới được thêm vào và gửi đến đầu kia Tiêu đề này được chèn vào giữa bản gốc IP header và payload

Encapsulating Security Payload (ESP) [1]: cung cấp mã hóa và xác thực tùy chọn Nó bao gồm các trường tiêu đề và trailer để hỗ trợ mã hóa và xác thực lại tùy chọn Mã hóa cho gói IP được hỗ trợ trong chế độ transport và cho toàn bộ gói trong chế độ tunnel Xác thực áp dụng cho tiêu đề ESP và mã hóa dữ liệu

Trang 24

Transport layer payload

Transport layer payload

IP payloadIP-H

Transport layer

IPsec layer

Network layer

Hình 2.2 IPSec Transport mode

+ Mã hóa và tùy chọn xác thực dữ liệu IP + Có thể phân tích lưu lượng

+ Tốt cho lưu lượng máy chủ ESP host to host

- IPSec Tunnel mode: có chức năng tương tự như VPN, trong đó, toàn bộ gói IP packets được đóng gói bên trong và gửi đến đích Nó đóng gói đầy đủ header IP cũng như payload

IP payload

Transport layer payload

New IP payloadIP-H

Hình 2.3 IPSec Tunnel mode

+ Mã hóa toàn bộ IP packet

+ Thêm header mới cho bước tiếp theo

+ Không có bộ định tuyến nào có thể kiểm tra được header IP bên trong + Tính bảo mật cao cho mạng VPNs, gateway to gateway

2.3.3 Vai trò và lợi ích của IPSec

2.3.3.1 Vai trò của IPSec

Cho phép xác thực hai chiều, trước và trong quá trình truyền tải dữ liệu Mã hóa đường truyền giữa 2 máy khi được gửi qua 1 mạng

Trang 25

Do đó, IPSec cung cấp các gói phòng thủ chuyên sâu chống lại:

- Các cuộc tấn cộng mạng từ các máy tính không đáng tin cậy, và các cuộc tấn công có thể dẫn đến việc từ chối cung cấp dịch vụ của các ứng dụng hoặc dịch vụ mạng - Đánh cắp dữ liệu

- Trộm cắp thông tin người dùng

- Kiểm soát quản trị máy chủ (servers), máy tính khác và mạng

2.3.3.2 Lợi ích của IPSec

- Tính bảo mật: Bằng cách mã hóa dữ liệu

- Tính toàn vẹn: Bộ định tuyến (router) tại mỗi điểm cuối của đường hầm tính toán đảm bảo giá trị checksum hoặc giá trị băm (hash value) của dữ liệu được bảo toàn - Tính xác thực:

+ Có chữ kí (signature) và chứng nhận (certificates)

+ Duy trì khả năng định tuyến thông qua kết nối mạng IP đang tồn tại - Cung cấp bảo mật (mã hóa) dữ liệu, tính toàn vẹn, xác thực:

+ Dữ liệu được đánh dấu (signed) bởi người gửi và được ký (signature) và xác minh (verify) bởi người nhận

+ Sửa đổi dữ liệu có thể bị phát hiện bằng các nhận dạng chữ ký (signature verification)

+ Bởi vì chữ kí dựa trên bí mật được chia sẻ nên chỉ những nguồn được phép truy cập mới được xác thực

- Bảo vệ tự động phát lại (Anti-replay): Người gửi phải cung cấp nhưng người nhận có thể bỏ qua

2.4 Ưu điểm và tính ứng dụng của IPSec

2.4.1 Ưu điểm của IPSec

Khi IPSec được triển khai trên bức tường lửa hoặc bộ định tuyến của một mạng riêng thì tính năng an toàn của IPSec có thể áp dụng cho toàn bộ gói dữ liệu vào ra mạng riêng đó mà các thành phần khác không cần phải xử lý thêm các công việc liên quan tới bảo mật

Trang 26

8

IPSec được thực hiện bên dưới lớp TCP và UDP, đồng thời nó hoạt động trong suốt đối với các lớp này Do vậy không cần phải thay đổi phần mềm hay cấu hình lại các dịch vụ khi IPSec được triển khai

IPSec có thể được cấu hình để hoạt động một cách trong suốt đối với các ứng dụng đầu cuối, điều này giúp che dấu những chi tiết cấu hình phức tạp mà người dùng phải thực hiện khi kết nối đến mạng nội bộ từ xa thông qua internet [2]

Thiết lập kết nối extranet và mạng nội bộ với các đối tác: IPSec có thể được sử dụng để bảo mật liên lạc với các tổ chức khác, đảm bảo xác thực và bảo mật cũng như cung cấp cơ chế trao đổi khóa (key exchange)

Tăng cường bảo mật trong thương mại điện tử: mặc dù một số ứng dụng thương mại điện tử và các trang web thương mại điện tử đã tích hợp các giao thức bảo mật, tuy nhiên việc sử dụng IPSec sẽ củng cố thêm tính bảo mật và an toàn cho các hệ thống thương mại điện tử đang có [2]

2.4.3 Khuyết điểm của IPSec

Tất cả các gói được xử lý theo IPSec sẽ bị tăng kích thước do phải thêm vào các tiêu đề khác nhau, và điều này làm cho thông lượng hiệu dụng của mạng giảm xuống Vấn đề này có thể được khắc phục bằng cách nén dữ liệu trước khi mã hóa, song các kĩ thuật như vậy vẫn còn đang nghiên cứu và chưa được chuẩn hóa

IPSec được thiết kế chỉ để hỗ trợ bảo mật cho lưu lượng IP, không hỗ trợ các dạng lưu lượng khác

Việc tính toán nhiều giải thuật phức tạp trong IPSec vẫn còn là một vấn đề khó đối với các trạm làm việc và máy PC cấu hình yếu

Việc phân phối các phần cứng và phầm mềm mật mã vẫn còn bị hạn chế đối với chính phủ một số quốc gia [2]

Trang 27

9

3 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC

3.1 Đánh giá tình hình bảo mật hiện tại

An ninh mạng là một vấn đề quan trọng đối với việc áp dụng các công nghệ mới trong mọi lĩnh vực của xã hội và nền kinh tế Điều này đặc biệt quan trọng đối với các giao dịch điện tử, đây là điều kiện tiên quyết để truyền đạt niềm tin vào người dùng [3] Tuy nhiên, các mối đe dọa hiện tại và tương lai đối với an ninh mạng vẫn còn nghiêm trọng và cần được nhìn nhận một cách nghiêm túc, điều này thúc đẩy cho việc tiếp tục đầu tư nghiên cứu vào lĩnh vực này [4]

Theo khảo sát của Computer Security Institute (CSI), chi phí trung bình hàng năm do tội phạm an ninh mạng tăng gấp đôi trong năm 2007 so với năm trước Các công ty báo cáo thiệt hại trung bình năm là $350.424 trong năm 2007, tăng mạnh so với $168.000 trong năm 2006 [5] Các dữ liệu này đã phản ánh tình hình nghiêm trọng về an ninh mạng cũng như các thành tựu đạt được trong trận chiến này

Các cuộc tấn công có mục đích đã trở thành một xu hướng trong an ninh mạng Một cuộc tấn công có mục đích là một cuộc tấn công phần mềm độc hại nhằm vào một tổ chức hoặc các tổ chức trong một khu vực hay một thị trường nhất định [6] Khoảng 20% số người được hỏi của cuộc khảo sát của CSI đã trải qua sự cố an ninh này Các cuộc tấn công nhắm vào mục tiêu phạm vi hẹp như vậy đang trở nên phổ biến hơn bao giờ hết [6]

Là một loại tấn công có mục đích nổi tiếng nguy hiểm, Denial-of-Service (DoS) tiếp tục đe dọa đến an ninh mạng Từ năm 2000, các cuộc tấn công DoS đã phát triển nhanh chóng và là một trong những mối đe dọa chính đối với tính khả dụng và độ tin cậy của các dịch vụ trên mạng Kiểu tấn công này được liệt kê là nguyên nhân gây ra tổng chi phí do tội phạm an ninh mạng cao thứ hai trong năm 2004 Mặc dù tỷ lệ tổn thất do các cuộc tấn công DoS trực tiếp gây ra đã giảm trong những năm gần đây, nhưng tổng thiệt hại lại đang gia tăng Nguyên nhân là do tổn thất tài chính phát sinh mỗi phút sau khi mỗi trang web bị hỏng [5]

Ngoài ra, xu hướng của các mối đe dọa nguy hiểm đã thay đổi theo hướng sâu rộng, phân tán mã độc hại trên internet và phần mềm gián điệp Khi kết hợp với các cuộc tấn công DoS, thiệt hại về tài chính có thể là rất cao Ví dụ, CodeRed, một con sâu nổi tiếng được tích hợp tấn công DoS, đã lây nhiễm hơn 250.000 hệ thống chỉ trong 9 giờ vào ngày 19 tháng 7 năm 2001 [7]; và nhiều loại sâu MyDoom mang các chương trình tấn công DoS kích hoạt theo thời gian, gây ra các hậu quả nặng nề vào năm 2004 [8]

3.2 Bảo mật cơ sở hạ tầng mạng

Việc bảo vệ cơ sở hạ tầng mạng đã được ưu tiên cao do các tính năng cơ bản của nó là để bảo vệ dữ liệu, thương mại điện tử và thậm chí cả an ninh quốc gia [9] Một mạng đáng tin cậy nên có ít nhất hai mức độ bảo mật: bảo mật thông tin và bảo mật cơ sở hạ tầng Bảo mật thông tin dựa trên lý thuyết thông tin và chủ yếu tập trung vào bảo vệ dữ liệu bằng các kỹ thuật như xác thực và mã hóa [10] Mặc dù quan trọng nhưng chủ đề này nằm ngoài phạm vi của bài báo của chúng tôi Mặt khác, bảo mật cơ sở hạ tầng tập trung vào việc bảo vệ tài nguyên mạng, thứ dùng để hỗ trợ chia sẻ thông tin [11] Tầm quan trọng và tính cấp thiết của nó dần dần được coi là tương đương với bảo mật thông tin với sự xuất hiện và tăng nhanh của các mối đe dọa nhắm vào cơ sở hạ tầng

Trang 28

Rất ít vấn đề bảo mật đã được đưa vào tài khoản và được tiêu chuẩn hóa như là các giao thức trong thiết kế ban đầu của Internet Sự thiếu hụt bên trong này đã cho phép nhiều cơ hội tấn công Các nguyên nhân khác của lỗ hổng trong cơ sở hạ tầng mạng bao gồm lắp đặt thiếu sót, cấu hình sai và sai sót trong lựa chọn cấu trúc liên kết và giao thức Mặc dù tình hình đã được cải thiện nhờ sự xuất hiện của các giao thức bảo mật như IPSec (bảo mật IP) [14], cần có thời gian để chúng được áp dụng rộng rãi Ngoài ra, sự tăng trưởng theo cấp số nhân của Internet đã dẫn đến một cơ sở hạ tầng mạng không đồng nhất có thể làm chậm lại việc chấp nhận các giải pháp giao thức Kết quả là, các chiến lược bảo mật bị quá hạn để có thể bảo vệ cơ sở hạ tầng mạng Để cung cấp chất lượng dịch vụ cho người dùng, một cơ sở hạ tầng mạng mạnh mẽ là bắt buộc

Nhiều giải pháp bảo mật cơ sở hạ tầng dựa trên phân tích lưu lượng mạng [15] Do đó, bất kỳ ứng dụng hữu ích nào cho phân tích lưu lượng có thể được coi là một ứng dụng bảo mật trong lĩnh vực an ninh mạng Xử lý dòng TCP, phân loại gói, đối chiếu mẫu, phòng thủ tấn công chuột chù và ngăn chặn sâu là đại diện cho các loại ứng dụng chính, tập trung vào các phần cụ thể trong bảo mật cơ sở hạ tầng mạng [16] [17] Hệ thống phát hiện xâm nhập mạng và hệ thống ngăn chặn xâm nhập mạng, ở phương diện khác, tập trung vào sự bảo mật của toàn bộ cơ sở hạ tầng [18]

3.3 Yêu cầu cho một ứng dụng bảo mật thành công

Sau khi khảo sát các ứng dụng bảo mật hiện tại liên quan đến cơ sở hạ tầng mạng, cho thấy rằng một giải pháp thành công thường mang các đặc điểm sau:

- Bảo vệ thời gian thực Đây là điều cần thiết cho một cơ chế bảo vệ hiệu quả để xử lý dữ liệu ở tốc độ cao với chi phí phải chăng Tất cả lưu lượng truy cập phải được kiểm tra một cách kịp thời, và tạo ra cảnh báo một cách chính xác khi các tình huống bất thường xảy ra

- Cập nhật linh hoạt Các cuộc tấn công nguy hiểm liên tục phát triển yêu cầu các giải pháp bảo mật phải thích nghi để duy trì hiệu quả Bản cập nhật có thể là cơ sở dữ liệu tri thức (signatures) mà phân tích bảo mật phụ thuộc vào, giải pháp mới để giải quyết hoặc thậm chí là chính hệ thống Việc cập nhật một ứng dụng thường sẽ thực tế hơn là thay thế nó

- Kiểm soát tốt khả năng mở rộng Khả năng mở rộng là một mối quan tâm quan trọng khác để triển khai thực tế Nhiều phương pháp được báo cáo hoạt động tốt trên một mạng lưới nghiên cứu có quy mô nhỏ, nhưng hiệu suất của chúng giảm đi nhanh

Trang 29

11

chóng khi được triển khai tới các mạng quy mô thực tế, chẳng hạn như mạng cấp trường hoặc lớn hơn Lý do chính cho điều này là sự phức tạp của hệ thống thường tăng nhanh hơn nhiều so với kích thước mạng mà nó hoạt động

3.4 Một số đề tài nghiên cứu ngoài nước tham khảo cho luận văn

3.4.1 Thực hiện bộ giao thức IPSec cho mạng multigigabits trên FPGA

Đề tài: Mateusz Korona, Krzysztof Showron, Mateusz Trzepinski, Mariusz

Rawski (2017), “Thực hiện bộ giao thức IPSec cho mạng multigigabits trên FPGA”, Poland

3.4.1.1 Tóm tắt đề tài

IPSec là một bộ các giao thức bổ sung tính bảo mật cho giao tiếp ở cấp IP Tuy nhiên, sức mạnh tính toán cao được yêu cầu bởi các thuật toán IPSec giới hạn hiệu năng kết nối mạng Bài viết trình bày việc triển khai phần cứng cổng IPSec trong FPGA Hiệu quả của giải pháp được đề xuất cho phép sử dụng IPSec trong các mạng có tốc độ dữ liệu tầm vài Gbit/s

3.4.1.2 Giới thiệu

Cùng với sự phát triển không ngừng của internet, những trang web toàn cầu càng dễ bị tổn thương bởi nhiều cuộc tấn công mạng Dữ liệu được truyền qua nhiều bộ định tuyến (router), và kết quả là dễ bị chặn (packet sniffing) Các phương thức tấn công chủ động, bao gồm giả mạo gói dữ liệu, cũng được sử dụng Toàn cầu hóa về mặt kinh tế đã tăng nhu cầu về các cơ chế truyền thông an toàn cho các công ty quốc tế và bảo vệ lợi nhuận được tạo ra bởi kinh doanh điện tử, điều này đã thúc đẩy tạo ra các cơ chế an toàn thích hợp

Mặc dù các giải pháp nhúng được áp dụng trong các lớp cao hơn của mô hình OSI (như SSL hoặc SSH), công việc trên IPSec, bộ giao thức cung cấp bảo mật trong lớp thứ ba của OSI RM, đã được bắt đầu Ưu điểm chính của nó là “tính minh bạch” cho các lớp cao hơn Nó hoạt động với các giao thức mạng khác nhau và cho phép dễ dàng chuyển đổi giữa các thuật toán mã hóa (trong trường hợp vi phạm chuẩn an toàn) Với IPSec, có thể tạo ra VPN (Mạng riêng ảo – Virtual Private Networks) phù hợp với nhu cầu kinh doanh điện tử nói trên

Tồn tại một loạt các giải pháp IPSec có sẵn Việc triển khai phần mềm nguồn mở chỉ phù hợp cho sử dụng cá nhân (ví dụ: Linux OpenWRT distribution [19], được thiết kế cho các bộ định tuyến gia đình, cung cấp thông lượng hàng chục Mbit/s) Các giải pháp hiệu quả hơn đòi hỏi tài nguyên phần cứng nhiều hơn (hơn chục lõi bộ xử lý) để đạt được thông lượng tối đa là 1Gbit/s (dự án strongSwan [21]) Triển khai thương mại thường sử dụng hỗ trợ phần cứng (ví dụ: thư viện Intel IPSec được thiết kế cho bộ vi xử lý Intel Architecture với bộ lệnh mở rộng [22]) Những giải pháp này cung cấp thông lượng cao hơn (theo thứ tự của một số Gbit/s, [23] [24]), nhưng rất tốn kém Có các triển khai thương mại của IPSec bằng cách sử dụng FPGA [25] hoặc GPU [26] nhưng chúng không cung cấp tất cả các tính năng IPSec (ví dụ: xử lý tiêu đề lưu lượng IP hoặc bất kì chức năng cơ sở dữ liệu IPSec nào)

Trang 30

12

3.4.1.3 Cấu trúc IP

IPSec và đặc biệt là chuẩn con ESP (Encapsulating Security Payload) cung cấp tính bảo mật, tính toàn vẹn và tính xác thực của dữ liệu được truyền đi Chế độ hoạt động đường hầm (Tunnel operation mode) cho phép tạo mạng VPN

Hình 3.1 Gói IP bảo mật với giao thức ESP qua 2 chế độ tunnel - transport

Trong chế độ đường hầm – tunnel mode (hình 2.1) [20] gói dữ liệu ban đầu được đệm, do đó mật mã khối có thể được áp dụng (chiều dài của thông điệp phải gấp nhiều lần chiều dài khối mã hóa) Bộ đệm cũng chứa thông tin phát sinh từ cấu trúc của ESP (ESP trailer) Sau khi hoạt động đệm, gói được mã hóa Sau đó, ESP header được đính kèm Nó chứa chỉ số tham số bảo mật – một giá trị xác định kênh SA an toàn (Security Association) thông qua đó gói được truyền đi

Nhờ SPI, gateway đích có thể xác định các thuật toán và khóa mã hóa thích hợp để giải mã gói tin Cuối cùng, ICV (Integrity Check Value) được nối thêm (ESP auth, ví dụ: mã xác thực thông điệp khóa băm có khóa – HMAC) Tính toán lại giá trị này cho phép xác minh tính toàn vẹn và tính xác thực của gói tin Cuối cùng, “header IP” bên ngoài được đính kèm

Hình 2.2 trình bày kiến trúc của hệ thống IPSec [20] Cơ sở dữ liệu chính sách bảo mật là việc thực hiện chính sách bảo mật SPD stores selectors (ví dụ: địa chỉ IP, số cổng, ….) là cơ sở để quyết định, nếu và cách thức mỗi gói cụ thể cần được bảo vệ SA (Security Association) lưu trữ thông tin cần thiết để bảo mật gói (ví dụ: khóa mã hóa) Mô đun Internet Key Exchange (IKE) có thể tự động thiết lập các kênh an toàn mới (Security Association) và mô-đun được đánh dấu là IPSec chịu trách nhiệm cho tất cả các hoạt động mã hóa và đóng gói gói tin

Hình 3.2 Kiến trúc của hệ thống IPSec

Trang 31

13

3.4.1.4 Thiết kế Prototype

Một nguyên mẫu của cổng IPSec được thiết kế, tối đa hóa lợi ích của xử lý gói phần cứng, bằng cách thực hiện tất cả các giai đoạn FPGA, trái ngược với các giải pháp khác chỉ sử dụng phần cứng làm máy gia tốc cho các chức năng quan trọng Thiết kế được phân chia thành mặt phẳng dữ liệu và mặt phẳng điều khiển phần mềm (bao gồm IKE module)

Hình 3.3 Sơ đồ khối của prototype

- Thực hiện prototype: Hình 2.3 trình bày sơ đồ bảo mật gói của thiết kế (AST là viết tắt của giao diện AXI4-Stream) Sau khi tiếp nhận, các gói IP được chuyển đến bộ điều khiển chính sách bảo mật đơn giản Các bản ghi thích hợp được tìm thấy trong cơ sở dữ liệu SPD, dựa trên hàm băm của Pearson được tính từ bộ IP header selection Mô-đun này xác định xem dữ liệu có cần được bảo mật hay không (bypas path) Quá trình bảo mật dữ liệu được thực hiện bởi mô-đun IPSec_outbound Các bước xử lý tiếp theo là: tra cứu cơ sở dữ liệu SAD, đóng gói ESP và mã hóa DES Bước cuối cùng là tính toán băm HMAC-SHA1 Gói được lưu trữ FIFO, cho đến khi việc tính toán cuối cùng kết thúc

- Phân tích hiệu suất prototype: Prototype của cổng IPSec đã được thử nghiệm trên board Terasic DE2-70 với Altera’s Cyclone II FPGA Tần số cực đại của thiết kế là 86.72 MHz với việc sử dụng 20% logic Dựa trên công thức:

Với N – kích thước của packet, M – số lượng chu kì cần thiết để xử lý packet, F

– tần số xung clock tối đa của thiết kế, Thông lượng của IPSec gateway cho chiều dài của packet được tính toán bên dưới [20]:

Bảng 3.1- Hiệu suất của Prototype cổng IPSec

Kích thước

packet [byte] Chu kỳ / gói Rb [Mbit/s]

Trang 32

“Nút cổ chai” (bottleneck) của prototype là mô-đun chịu trách nhiệm tính toán băm HMAC Thuật toán HMAC yêu cầu tính toán SHA-1 được tính hai lần – đối với gói IP 240 byte, phải mất 86% thời gian xử lý (685 chu kì trong tổng số 794 chu kì)

Một vấn đề khác là thiết kế bộ xử lý bảo mật – chức năng IPSec được chia giữa bộ điều khiển chính sách bảo mật và mô-đun phức tạp thực hiện tất cả các hoạt động khác Trong giai đoạn tính toán băm HMAC, đây là giai đoạn dài nhất trong toàn bộ quá trình, các tài nguyên chịu trách nhiệm đóng gói IP và ESP hoặc mã hóa dữ liệu vẫn chưa được sử dụng

Mặt khác, sử dụng logic FPGA thấp hơn (20%) theo tiêu chuẩn ngày nay Cyclone II FPGA cho phép áp dụng các phương pháp tối ưu hóa phần cứng, chẳng hạn như đường ống (pipelining) và tính song song (paralellization) trong quá trình xử lý

3.4.1.5 Cổng IPSec

Phân tích prototype đã trở thành cơ sở để phát triển kiến trúc cổng IPSec phần cứng mới Các phương pháp tối ưu hóa phần cứng tiên tiến đã được áp dụng để thực hiện, dẫn đến tăng tốc độ xử lý và sử dụng logic tốt hơn (Hình 2.4) [20]

Hình 3.4 Kiến trúc của cổng IPSec

Các chức năng IPSec được chia thành nhiều phần của thiết kế Mỗi phần có thể chứa nhiều mô-đun thực hiện một giai đoạn xử lý cụ thể, làm việc song song Các phần được phân tách bằng hàng đợi FIFO và các công tắc vòng tròn, phân phối các gói giữa các mô-đun trong phần cụ thể Kết quả là, nhiều gói có thể được xử lý cùng một lúc Việc sử dụng các công tắc cho phép kiểm soát gói tin (payload) của các phần xử lý trong phần đã cho Tăng số lượng mô-đun tính toán HMAC tốn nhiều thời gian nhất dẫn đến

Trang 33

15

tăng thông lượng Lợi thế của kiến trúc được trình bày cũng là ứng dụng được đơn giản hóa của nhiều thuật toán mã hóa khác nhau (ví dụ: một số thuật toán mã hóa ở các chế độ khác nhau trong phần mã hóa)

3.4.1.6 Tối ưu hóa mô-đun HMAC-SHA1

Để cải thiện hiệu suất của cổng IPSec, tối ưu hóa các mô-đun riêng lẻ cũng được thực hiện Sự chú ý đặc biệt dành cho mô-đun HMAC-SHA1, bởi vì hiệu quả của nó là sự cắt giảm tốc độ xử lý quan trọng trong prototype Hình 2.5 trình bày thuật toán HMAC [27]

Hình 3.5 Sơ đồ thuật toán HMAC-SHA1

Hàm băm SHA-1 được tính từ gói IP với giá trị i_key_value Chuỗi các bits được chia thành khối 512 bits, được xử lý riêng lẻ Trong giai đoạn thứ hai, giá trị o_key_pad

được thêm trước vào hàm băm và được tính toán trước đó, sau đó toàn bộ quy trình được lặp lại Cuối cùng, tính toán băm HMAC 160 bits thu được, sẵn sàng để được gắn vào

gói bảo mật Các khối i_key_pad và o_key_pad là kết quả của thao tác XOR được thực

hiện trên khóa và hai hằng số được xác định trong RFC 2014 [27]

Khóa tương tự được sử dụng cho tất cả các gói IP được bảo vệ bởi một kênh SA

Do đó, có thể tính toán băm SHA-1 của các khối i_key_pad và o_key_pad và mô-đun

SHA-1 chỉ được khởi tạo đúng cách Tối ưu hóa này giúp rút ngắn thời gian tính HMAC tới 160 chu kỳ xung clock

Một nhiệm vụ quan trọng khác là giảm thời gian cần thiết để xử lý khối 512 bits trong thuật toán SHA-1 [28] Rất tiếc, việc bỏ vòng lặp của thuật toán phần cứng (ví dụ: tính toán 2 trong số 80 vòng trong một chu kỳ clock) dẫn đến việc tăng số lượng critical path và giảm tần số tối đa của thuật toán

Giải pháp của vấn đề này đã được đề xuất trong bài báo [29] Thuật toán SHA-1 đã được sửa đổi bằng cách thêm các biến mới Việc thực hiện thuật toán được cải thiện đã giảm thời gian xử lý khối 512 bits xuống 40 chu kì clock (ban đầu là 80 chu kì) mà không làm giảm tần số cực đại của thiết kế

3.4.1.7 Những tối ưu hóa về mặt kiến trúc

Chiều rộng của bus nội bộ (internal bus) tăng từ 64 lên 128 bits (kích thước của khối AES) để cải thiện hiệu năng Hai đường đường ống pipeline (64 bits width) được đặt trong các mô-đun mã hóa DES-ECB

Việc sử dụng nhiều lõi xử lý song song đã tạo ra một vấn đề trong việc cung cấp quyền truy cập vào cơ sở dữ liệu của SA Để giải quyết điều này, hệ thống trọng tài

Trang 34

16

(arbiter system) được thiết kế Hơn nữa, việc truy cập vào cơ sở dữ liệu đã được chuyển sang một miền clock riêng biệt, bởi vì bộ nhớ DDR thường có thể được gắn với tần số cao hơn nhiều so với các bộ phận thiết kế khác

3.4.1.8 Phân tích hiệu năng

Thiết kế đã được thử nghiệm với bo mạch Terasic DE5-Net mới được trang bị với Stratter V FPGA của Altera Tổng hợp cổng IPSec trong các cấu hình khác nhau được thực hiện Bảng 2.2 trình bày các kết quả tổng hợp cho các cấu hình DES Trong cột cấu hình, số lượng bộ điều khiển bảo mật, bộ điều khiển, mô-đun mã hóa và mô-đun HMAC trong mỗi phần được liệt kê tương ứng

Bảng 3.2 Kết quả của việc thực hiện thiết kế với thiết lập DES

Thiết lập Fmax [MHz] Logic tiêu hao

Bảng 3.3 Thông lượng cho Packet 64 Bytes

Thiết lập 16 Số lượng gói trong stream 32 64 128

Bảng 3.4 Thông lượng cho Packet 240 Bytes

Thiết lập Số lượng gói trong stream

Bảng 3.5 Thông lượng cho Packet 1500 Bytes

Thiết lập Số lượng gói trong stream

Trang 35

Bảng 3.6 Kết quả cho việc thực hiện với thiết lập AES

[MHz] Logic tiêu hao

Bảng 3.7 Thông lượng cho Packet 64 Bytes

Thiết lập Count of packets in stream

Bảng 3.8 Thông lượng cho Packet 240 Bytes

Thiết lập Count of packets in stream

Bảng 3.9 Thông lượng cho Packet 1500 Bytes

Thiết lập Count of packets in stream

Trang 36

18

Theo quan điểm thực tế của Google cùng với CWI Amsterdam gần đây đã công bố thông tin về việc tạo ra các hàm băm SHA-1, nhóm IPSec hiện đang làm việc để triển khai phần cứng cùng các thuật toán băm an toàn hơn như SHA-256 để chứng minh, một thuật toán mã hóa dễ dàng như thế nào có thể được thay thế bằng cách sử dụng kiến trúc cổng được mô tả

3.4.2 Khảo sát so sánh việc thực hiện các thuật toán mã hóa hiệu suất cao trên FPGA

Đề tài: K Ja¨ rvinen, M Tommiska and J Skytta¨ (2005), “Comparative survey

of high-performance cryptographic algorithm implementations on FPGAs”, Aalto Univeristy

3.4.2.1 Tóm tắt

Các tác giả trình bày một cuộc khảo sát để so sánh việc thực hiện thuật toán mật mã khóa riêng (private-key cryptographic) trên FPGA Hiệu suất và độ linh hoạt của những thiết bị FPGAs làm cho chúng trở thành nền tảng lý tưởng trong việc triển khai các thuật toán mã hóa đã được nghiên cứu trong vài năm qua Tuy nhiên, có những cuộc khảo sát đã được thực hiện nhưng chưa được trình bày trước đây Các tác giả phân tích các bài báo áp dụng thuật toán mã hóa trên FPGAs, được sử dụng rộng rãi nhất và so sánh về mặt tốc độ (speed), diện tích (area) và kỹ thuật (technique) Các thuật toán được nghiên cứu trong bài viết này bao gồm các thuật toán mã hóa riêng tư được nâng cấp từ mã hóa cơ bản (private-key cryptographic algorithms) và thuật toán mã hóa dữ liệu quốc tế (international data encryption) và thuật toán băm (certain hash) Các thuật toán đã được thực hiện cung cấp một cái nhìn tổng quan về thuật toán mã hóa riêng (private-key cryptographic algorithm)

3.4.2.2 Giới thiệu

Bài viết này trình bày một nghiên cứu chi tiết về tình hình áp dụng các thuật toán mã hóa riêng tư trên FPGAs Khi các thuật toán mã hóa được sử dụng rộng rãi hơn, thì các thuật toán đều có chung yêu cầu là phải thực hiện với tốc độ cao hơn Việc triển khai các thuật toán mã hóa dựa trên phần mềm không hiệu quả trong nhiều ứng dụng, ví dụ: trên các máy chủ có nhiều ứng dụng Vì vậy, có một nhu cầu cấp thiết cho việc thực hiện các giải thuật mã hóa trên FPGA với tốc độ cao

Phần cứng có thể lập trình lại gần như là lý tưởng cho việc thực hiện mã hóa bởi vì độ lợi sẽ không giảm đáng kể trong khi tốc độ có thể được cải thiện Tính linh hoạt, có nghĩa là thiết kế có thể dễ dàng thay đổi hoặc sửa đổi được, đặc biệt quan trọng hơn trong việc triển khai mã hóa vì những lý do sau Đầu tiên, một thuật toán mã hóa có thể được bảo mật cho đến khi chúng được chứng minh bằng cách khác Nếu tìm thấy một lỗ hổng nghiêm trọng trong thuật toán, thuật toán phải được thay thế bằng thuật toán khác an toàn hơn Thứ hai, trong nhiều ứng dụng, một loạt các thuật toán khác nhau được sử dụng, và do đó, nó phải dễ thay đổi từ thực hiện một thuật toán này sang thuật toán khác

Bài viết tập trung vào việc triển khai các tiêu chuẩn mã hóa tiên tiến (AES), thuật toán mã hóa dữ liệu quốc tế (IDEA) và các thuật toán băm (hash algorithms) Các thuật toán này đại diện cho cả thuật toán mật mã khóa bí mật và thuật toán băm, do đó đề tài này đưa ra một cái nhìn tổng quan về tình hình thực hiện thuật toán mã hóa Tất cả các thuật toán này đã được thực hiện bởi các tác giả trong phòng thí

Trang 37

3.4.2.3 Thuật toán mật mã khóa riêng (Private-key cryptographic algorithms)

Việc thực hiện các thuật toán mật mã khóa riêng trên phần cứng lập trình lại (FPGA) đã được nghiên cứu rộng rãi trong nhiều năm qua Mật mã khối rất phù hợp với việc triển khai phần cứng, bởi vì, tính tách (unrolling) và khái niệm đường ống (pipelinining) có thể được khai thác một cách hiệu quả

Thông lượng có thể được tăng lên bằng cách pipelining một thiết kế chưa được kiểm soát và sau đó tính toán một mã mã hóa khác nhau trong mỗi giai đoạn pipeline Tuy nhiên, pipeline, hạn chế việc sử dụng các chế độ mã hóa phản hồi và yêu cầu giá trị của bản mã trước đó trong quá trình tạo mã tiếp theo, ví dụ: chế độ chuỗi khối mật mã [31]

Tiêu chuẩn mã hóa dữ liệu (DES) và biến thể 3DES là mật mã khối phổ biến nhất trong nhiều thập kỷ Một số bài báo gần đây nói về việc triển khai tiêu chuẩn DES đã được xuất bản, ví dụ [32] và [33] Tuy nhiên, tiêu chuẩn DES hiện đang dần được thay thế bằng tiêu chuẩn AES, và vai trò của tiêu chuẩn DES sẽ bị ảnh hưởng trong tương lai Do đó, tiêu chuẩn DES sẽ không được xem xét thêm trong tương lai

Bảng 3.10 Thống kê việc thực thi AES trên dòng Xilin Virtex FPGAs

TPA(Mbps/area)Chodowiec and coworkers [34],

Elbirt et al [37], [38] [Elb]Virtex 1000-4 10

Trang 38

Pramstaller and Wolkerstrofer [46][Pra]Virtex-E 1000-81 12501 1250.2150.1910.191

Rodr´ıquez-H et al [47] [Rod]Virtex-E 26005 67780 91715 4.1210.7260.259

Saggese et al [49] [Sag]Virtex-E 2000-82 778100 57815 8.93.2040.571

Saggese et al [49] [Sag]Virtex-E 2000-85 810100 18

Saggese et al [49] [Sag]Virtex-E 2000-8648101 9281.822.8090.944

Saqib et al [50] [Saq]Virtex-EM 8122 136100 93614 2.8681.3430.192

Standaert et al [51] [St1]Virtex 1000-62 25702 2571.5630.6930.693

Standaert et al [51] [St1]Virtex-E 3200-82 784100 15

Standaert et al [51] [St1]Virtex-E 3200-8542101 8221.452.6750.796

Standaert et al [52] [St2]Virtex-E 3200-81 76901 7692.0851.1791.179

Standaert et al [52] [St2]Virtex-E 3200-8 15

15

Weaver and Wawrzynek [54][Wea]Virtex-E 600-8770102 0501.752.2730.854

Zambreno et al [55] [Zam]Virtex-II 40001 254203 8144.443.5411.164

Zambreno et al [55] [Zam]Virtex-II 4000 16

16

Zambreno et al [55] [Zam]Virtex-II 40002 206508 60610.884.9321.264

Zambreno et al [55] [Zam]Virtex-II 40003 766100 16

Zambreno et al [55] [Zam]Virtex-II 4000387101 6671.413.6430.846Zhang and Parhi [56][Zha]Virtex 1000-6 01411 0 01411 16.0321.4561.456Zhang and Parhi [56][Zha]Virtex 800-69 40609 4069.1840.9760.976Zhang and Parhi [56][Zha]Virtex-E 1000-8 11

Trang 39

21

Hình 3.6 Mối liên hệ giữa Throughput-slice trong thực hiện AES giữa các họ FPGA

Hình 3.7 Mối liên hệ throughput-area trong việc thực hiện AES giữa các họ FPGA

Trang 40

22

3.4.2.4 Thuật toán băm - Hash algorithms

Các thuật toán băm thường được sử dụng, ví dụ: MD5 [57] và thuật toán băm bảo mật (SHA) [58], không phù hợp với việc triển khai phần cứng tốc độ cao như hầu hết các thuật toán khóa riêng hoặc khóa công khai, chủ yếu là vì không thể sử dụng song song một cách hiệu quả Các thuật toán băm có thể được triển khai hiệu quả trên phần mềm khi chúng sử dụng các phép cộng modulo phổ biến, dễ dàng và nhanh chóng để thực hiện với các bộ vi xử lý truyền thống Tuy nhiên, sự gia tăng tốc độ đáng kể từ 25 đến 31 lần đối với SHA-1 và SHA-512 đã được công bố [59]

Có một số ứng dụng nhất định không tăng tốc phần cứng Ví dụ: nếu một lược đồ mã hóa yêu cầu tính băm, ví dụ: thuật toán chữ kí số [60], được thực hiện trên FPGA, nó là nền tảng để thực hiện một module băm trên chip Một số tính toán băm đòi hỏi cao, ví dụ: chuỗi dài số vòng băm, không thể tăng tốc phần cứng [61] Các thuật toán băm được trình bày trong [59] được xem xét ở đây

Bảng 3.11 Kết quả thực hiện IDEA trên dòng Xilinx

* n.a Giá trị không có sẵn trong đề tài

Bảng 3.12 Thuật toán hỗ trợ đã công bố và thực hiện trên FPGA của giải thuật băm

Ja¨ rvinen et al [61]

Ja¨ rvinen et al [72] ✓ ✓

Lien et al [59]

McLoone and McCanny [74]

Selimis et al [76]

Ngày đăng: 03/08/2024, 13:36

w