BỘ BẢO MẬT IP (IPSEC) TỐC ĐỘ CAO 10Gbgs<br />
TRÊN FPGA<br />
Lê Thị Thanh Bình1<br />
Tóm tắt: Trong bài báo này, tôi đề xuất thực hiện một bộ bảo mật dữ liệu IPSec<br />
trên FPGA Xilinx Virtex-6. Giao thức bảo mật IP (IPSec) là một giao thức quan trọng<br />
trong giao thức bảo mật mạng được sử dụng trong lớp IP. Thông thường các bộ bảo<br />
mật IPSec đều được thực hiện bằng phần mềm như trên Windows hoặc Linux, trong<br />
IPSec các bộ xử lý, mã hóa và xác thực chiếm nhiều thời gian xử lý của CPU do đó rất<br />
khó thực hiện hệ thống IPSec tốc độ cao. Vì vậy, tôi sẽ trình bày một bộ bảo mật IPSec<br />
tốc độ cao bằng sự kết hợp xử lý giữa phần mềm và phần cứng. Phần mềm Racoon<br />
với chức năng quản lý, đàm phán và trao đổi khóa IKEV2 được chạy trên lõi xử lý<br />
Microblaze. Phần cứng thực hiện trên phần logic của FPGA với chức năng quan trọng<br />
xử lý dữ liệu cho mã hóa AES và xác thực HMAC. Khi đó bộ IPSec trở thành bộ đồng<br />
xử lý với CPU giúp hệ thống thực hiện với tốc độ xử lý cao - 10Gbps.<br />
Từ khóa: IPSec, IP security, bộ bảo mật IP, Giao thức bảo mật IP, bảo mật mạng.<br />
1. Mở đầu<br />
Trong nhưng năm gần đây các cuộc tấn công mạng xảy ra ngày càng nhiều và ở<br />
hầu hết các quốc gia trên thế giới, tính chất của các vụ tấn công ngày càng phức tạp và<br />
khó lường. Như thông tin từ tờ báo NBC News đã đưa tin “Tin tặc của Trung Quốc đã<br />
tiếp cận hộp thư điện tử cá nhân của các quan chức thương mại và các an ninh quốc gia<br />
hàng đầu của Mỹ từ tháng 4/2010” và một số tờ báo đã đưa tin “Mỹ nghe lén điện thoại<br />
của 35 nhà lãnh đạo trên thế giới” cũng đã làm cho các quốc gia lo ngại về sự đảm bảo<br />
thông tin mạng và an ninh quốc gia.<br />
Các cuộc tấn công mạng với các thiết bị được triển khai từ xa qua mạng Internet<br />
như tấn công thụ động hoặc tấn công chủ đích. Khi hệ thống bị tấn công sẽ làm thay<br />
đổi hành vi của hệ thống hoặc thậm chí làm tê liệt toàn bộ hệ thống. Những loại tấn<br />
công phố biến bao gồm:<br />
Nghe lén: Người sử dụng trái phép đã sử dụng mã độc gây hại để khai thác<br />
mạng, sao chép phân tích dữ liệu. Nếu họ thấy được thông tin văn bản rõ và thông tin<br />
cấu hình thì họ có thể phát hiện ra điểm yếu của hệ thông để tấn công.<br />
Giả mạo: Người sử dụng trái phép có thể giành quyền kiểm soát các thiết bị từ<br />
xa bằng cách phát hành các gói tin điều khiển giả. Loại tấn công này có thể làm thay<br />
đổi hành vi của hệ thống hoặc làm tê liệt hệ thống.<br />
1<br />
<br />
CN, Trường Đại học Quảng Nam<br />
<br />
15<br />
<br />
BỘ BẢO MẬT IP (IPSEC) TỐC ĐỘ CAO 10Gbgs TRÊN FPGA<br />
Tấn công truyền lại: Người sử dụng trái phép đứng chắn ngang việc truyền tin<br />
hợp lệ và sử dụng lại nó để truyền lại, và có thể thay đổi hành vi của hệ thống bằng<br />
cách thiết lập lại một số trạng thái trước đó của hệ thống.<br />
Tấn công từ chối dịch vụ (DOS): Tấn công DOS làm giảm hiệu suất của hệ<br />
thống bằng cách làm quá tải của hệ thống với một lưu lượng quá lớn. Nó là nguyên<br />
nhân làm mất giao tiếp và từ chối dịch vụ.<br />
Dịch vụ bảo vệ hệ thống có thể được chia bốn lại như sau:<br />
Bí mật: Đảm bảo rằng chỉ những đơn vị có thẩm quyền mới có quyền xem nội<br />
dung dữ liệu được bảo vệ bằng cách mã hóa dữ liệu như AES hoặc các thuật toán khác<br />
để đảm bảo dữ liệu an toàn<br />
Xác thực: Xác thực để đảm bảo chắc chắn thực thể truyền là một và nó là duy<br />
nhất. Thực thể xác thực bao gồm xác thực ngang hàng và xác thực nguồn gốc dữ liệu.<br />
Chữ ký số được tạo bởi các thuật toán công khai như RSA và El-Gaman là rất khó để<br />
giả mạo.<br />
Tính toàn vẹn: Đảm bảo rằng dữ liệu nhận được là chính xác giống như dữ<br />
liệu gửi đi, đảm bảo không bị chỉnh sửa, chèn, xóa hay thay thế xảy ra trong quá trình<br />
truyền dữ liệu. Message Authentication Code (MAC) được tính bằng cách băm khóa<br />
bí mật với thông điệp nhằm cung cấp tính toàn vẹn trên văn bản ký.<br />
Kiếm soát truy cập: Bảo vệ tài nguyên từ việc sử dụng trái phép. Các chính sách<br />
an ninh tại điểm truy cập mạng được xác định để kiểm soát ai có thể được quyền truy<br />
cập và có những điều kiện gì có quyền truy cập.<br />
Bí mật khóa mã hóa và khóa hàm băm rất cần thiết cho các dịch vụ an ninh được<br />
xác định ở trên. Giao thức trao đổi khóa, chẳng hạn IKEV cung cấp một cơ chế thương<br />
lượng, đàm phán và trao đổi chia sẽ khóa bí mật giữa các thực thể truyền và nhận.<br />
Sự đồng thuận chung về tầm quan trọng liên quan đến bảo mật mạng đã dẫn đến<br />
sự phát triển của IPSec. IPSec đã cung cấp một tiêu chuẩn để đảm bảo thông tin liên<br />
lạc trên mạng Internet. Nó được thiết kế tương thích với Ipv4 và Ipv6. Nhiều công ty,<br />
như Cisco đã triển khai IPSec trong sản phẩm của họ. Trong bài báo này tôi trình bày<br />
việc thực hiện IPSec trong chế độ đường hầm (tunnel) trên kit phát triển ML605 với<br />
chíp FPGA Virtex 6.<br />
2. Nội dung<br />
2.1. IPSec Freamwork<br />
Giao thức IPsec bao gồm Authentication Hearder (AH) và Encapsulating Security<br />
Payload (ESP) tất cả AH và ESP đều sử dụng số sequence number để bảo vệ gói IP<br />
chống tấn công lặp lại. Thêm vào đó AH cũng cấp xác thực dữ liệu còn ESP cung cấp<br />
vừa xác thực vừa mã hoá dữ liệu. Mỗi giao thức cung cấp hai chế độ hoạt động đó là<br />
16<br />
<br />
LÊ THỊ THANH BÌNH<br />
chế độ vận chuyển (transport) và chế độ đường hầm (tunnel). Transport mode là được<br />
sử dụng giao tiếp cuối đến cuối (end-to-end) nơi mà hai host Ipsec là điểm cuối. Trong<br />
chế độ đường hầm thường được sử dụng khi đích của gói dữ liệu khác từ cổng định<br />
tuyến khác, chúng cung cấp dịch vụ IPSec cho gói dữ liệu chuyển tiếp. Trong bài báo<br />
này, tôi tập trung mô tả chế độ đường hầm (turnnel mode). Chế độ đường hầm trong<br />
giao thức ESP thêm phần header ESP vào trước IP header và thêm phần IP header mới<br />
vào trước ESP. Thêm phần dữ liệu (trailer) vào phần cuối gói tin. Giao thức ESP hoạt<br />
động trong chế độ đường hầm như hình sau:<br />
<br />
Hình 1. Giao thức ESP ở chế độ đường hầm<br />
Trong giao thức AH chế độ đường hầm phần header AH được chèn vào trước<br />
IP header và IP header mới cũng được chèn vào trước AH header. Giao thức AH hoạt<br />
động chế độ đường hầm như hình 2 sau:<br />
<br />
Hình 2. Giao thức AH ở chế độ đường hầm<br />
2.2. IPSec trên Xilinx board ML605 (Virtex-6)<br />
Trong những năm gần đây, Field Programmable Gate Arrays (FPGA) đã đạt<br />
được đầy đủ khả năng để thực hiện những tính năng phức tạp về xử lý mạng máy<br />
tính trong việc lập trình phần cứng. Các thiết bị mạng sử dụng FPGA cho thấy sự<br />
cân bằng giữa hiệu suất và tính linh hoạt, chúng làm cho FPGA thích hợp tối ưu tài<br />
nguyên cho giải pháp ASIC. Xilinx Virtex-6 là dòng có tốc độ cao, hỗ trợ hệ thống xử<br />
lý nhúng (Embedded system) trên McroBlaze 32bit RISC, Tri-speed Ethernet, DDR3<br />
SO-DIMM, các cổng IO giao tiếp mở rộng FPGA Mezzanine Card (FMC).<br />
Bộ IPSec tốc độ cao trong bài báo được thực hiện trên chíp FPGA Virtex6 board<br />
ML605 nhằm tận dụng lợi thế của bộ vi xử lý nhúng, khối RAM trên chíp cho phép<br />
17<br />
<br />
BỘ BẢO MẬT IP (IPSEC) TỐC ĐỘ CAO 10Gbgs TRÊN FPGA<br />
thực hiện lưu trữ khóa mở rộng cho khối AES. MicroBlaze thực hiện nhúng OS và<br />
chạy các chương trình ứng dụng như IKEv2.<br />
2.3. Thực hiện trên FPGA<br />
2.3.1. Phần mềm<br />
Phương thức trao đổi khóa tự động bằng phần mềm Racoon với thuật toán trao<br />
đổi khóa IKEV2 là phiên bản nâng cao cho giao thức trao đổi khóa, tăng cường chức<br />
năng thực hiện trao đổi khóa và xác thực. Phần mền Racoon được chay trên hệ điều<br />
hành RTOS ecos cho phép tối ưu hệ thống và kết hợp phương thức trao đổi khóa, mã<br />
hóa và xác thực được dễ dàng, linh hoạt.<br />
2.3.2. Phần cứng<br />
Bộ IPSec thực hiện bằng phần cứng cho phép thay đổi số lượng bộ mã hóa và<br />
xác thực AES, HMAC-SHA-256 trong thiết kế có thể cấu hình để đáp ứng các ứng<br />
dụng khác nhau.<br />
Sơ đồ kiến trúc hệ thống<br />
<br />
Hình 3. Sơ đồ kiến trúc IPSec thực hiện bằng phần cứng<br />
Khối IPSec đó là những bộ mã hóa AES và xác thực HMAC(SHA256) được<br />
thực hiện bằng phần cứng trên FPGA. Để Kernel RTOS giao tiếp được với khối IPSec<br />
cần phải có driver. Ở trên cùng là các ứng dụng trong mạng, ứng dụng IKEV thực hiện<br />
việc trao đổi khóa cho IPSec.<br />
Sơ đồ kiến trúc phần cứng IPSec trên FPGA<br />
18<br />
<br />
LÊ THỊ THANH BÌNH<br />
<br />
2.3.3. Mô phỏng<br />
<br />
Hình 4. Sơ đồ khối thực hiện IPSec<br />
<br />
Bằng phương pháp mô phỏng, với 4 giao thức IP AH và 4 core IP AES và HMAC<br />
kết nối bên trong IPSec thực hiện đồng thời cho phép tăng tốc độ mã hóa và xác thực. Băng<br />
thông thực hiện 6.44Gbs ở mức trung bình chiều dài 512 byte gói dữ liệu dưới đồng hồ<br />
tốc độ 214MHz với 68 xung nhịp và 4 core mã hóa và xác thực thực hiện đồng thời. Việc<br />
thực hiện IPSec trên kit Virtex-6 XC6VLX240T. Phương pháp thiết kế sử dụng kỹ thuật<br />
pipeline cho việc nâng cao tốc độ và thiết kế giảm công suất để giảm tiêu hao năng lượng.<br />
2.4. Kết quả đạt được<br />
2.4.1. Kết quả mô phỏng<br />
<br />
Hình 5. Tài nguyên AES core<br />
<br />
Hình 6. Tốc độ AES core<br />
19<br />
<br />