Thông tin khoa học công nghệ<br />
<br />
XÂY DỰNG MÔ HÌNH CỨNG HÓA GIAO THỨC BẢO MẬT ESP<br />
TRÊN NỀN TẢNG CÔNG NGHỆ FPGA<br />
Nguyễn Văn Thành1, Hoàng Đình Thắng2*, Hoàng Văn Toàn2, Phạm Hải Hưng2<br />
Tóm tắt: Bài báo miêu tả giải pháp cứng hóa giao thức ESP ở chế độ tunel sử<br />
dụng công nghệ FPGA. Ở đây, đưa ra lược đồ để phân tích, đóng gói, mã hóa, giải<br />
mã gói tin ở lớp IP để xử lý giao thức ESP trong chế độ tunel theo nguyên lý<br />
pipeline, đảm bảo giảm độ trễ, tăng tốc độ xử lý gói tin. Giao thức được thử nghiệm<br />
trên chíp spartan – 6 của Xilinx, và có thể chạy trên tất cả các dòng chíp 6 Series, 7<br />
Series của hãng.<br />
Từ khóa: Mã hóa, Bảo mật, ESP.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Vấn đề lớn nhất của bảo mật thông tin sử dụng phương thức IPSec để xây dựng<br />
mạng riêng ảo (VPN – Virtual Private Networks) là tăng hiệu năng của hệ thống,<br />
trong đó bài toán đóng gói dữ liệu theo giao thức ESP đòi hỏi thời gian thực đặc<br />
biệt đóng vai trò quan trọng. Các kỹ thuật hiện thời sử dụng kết hợp công nghệ<br />
Opensources và FPGA, trong đó FPGA đóng thực hiện các thuật toán mã hóa dữ<br />
liệu. Tuy nhiên, ngay cả với kỹ thuật này cũng có nhiều nhược điểm như:<br />
- Hiệu năng thấp;<br />
- Độ trễ gói lớn;<br />
- Xác suất lỗi gói lớn.<br />
Để giải quyết những nhược điểm này bài báo giới thiệu kỹ thuật cứng hóa hoàn<br />
toàn giao thức ESP sử dụng chế độ tunnel trên nền tảng công nghệ FPGA.<br />
2. XÂY DỰNG MÔ HÌNH XỬ LÝ<br />
Gateway 1 Gateway 2<br />
<br />
<br />
Encrypted<br />
A B<br />
New IP ESP Orig IP TCP Data<br />
Header Header Header<br />
Hình 1. Mô hình mạng thực hiện ESP trong chế độ tunnel.<br />
Mô hình mạng thực hiện ESP trong chế độ Tunnel được đưa ra trên hình 1, định<br />
dạng gói tin ESP trong chế độ tunel được đưa ra trên hình 2. Như trên hình 2 có thể<br />
thấy để thực hiện được việc cứng hóa giao thức ESP trong chế độ tunnel cần giải<br />
quyết các bài toán:<br />
- Phân tích toàn bộ các gói tin trong mạng đến lớp IP;<br />
- Phân tích tìm kiếm các tham số của gói tin như: địa chỉ IP đích, địa chỉ IP<br />
nguồn, kiểu giao thức, các tham số như chỉ số SPI;<br />
- Đóng gói gói tin IP thời gian thực;<br />
- Thực hiện đóng gói các giao thức ESP;<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 271<br />
Công nghệ thông tin<br />
<br />
- Thiết lập và tìm kiếm các tham số gói tin trong SAD (Security Association<br />
DataBase);<br />
- Thực hiện mã hóa gói tin bằng các thuật toán mã hóa như AES, DES, 3DES<br />
hoặc thuật toán đặc thù;<br />
- Thực hiện xác thực gói tin qua các thuật toán như SHA, MD5.<br />
<br />
<br />
<br />
<br />
Hình 2. Định dạng gói tin của giao thức ESP trong chế độ tunnel.<br />
Như vậy, việc chỉ thực hiện mã hóa sử dụng FPGA chỉ thực hiện một nhiệm vụ<br />
trong chuỗi nhiệm vụ thực hiện giao thức ESP trong chế độ tunnel.<br />
Sơ đồ xử lý gói tin để thực hiện giao thức ESP trong chế độ Tunnel được đưa ra<br />
trên hình 3.<br />
<br />
<br />
Mã hóa<br />
Dữ liệu vào từ<br />
Dữ liệu ra tới<br />
lớp Ethernet IP IP<br />
IP protocol lớp Ethernet<br />
protocol protocol<br />
Transmitted<br />
check reciver<br />
<br />
<br />
Xác thực<br />
<br />
<br />
Hình 3. Sơ đồ xử lý gói tin để thực hiện giao thức ESP trong chế độ Tunnel.<br />
Trong hình 3: Khối IP protocol check sẽ kiểm tra địa chỉ IP, dạng giao thức của<br />
gói, nếu dữ liệu đúng là gói IP và địa chỉ đích nằm trong SA dữ liệu sẽ được đưa<br />
tới khối IP protocol reciever, ngược lại, nếu địa chỉ đích nằm ngoài SA dữ liệu sẽ<br />
được bỏ qua và truyền thẳng xuống lớp Ethernet để truyền vào mạng.<br />
Khối IP protocol reciever thực hiện phân tích dữ liệu để lấy ra các tham số<br />
như sau:<br />
- MAC address;<br />
- IP header;<br />
- Dữ liệu của lớp IP (IP data + IP header);<br />
<br />
<br />
272 N. V. Thành, …, P. H. Hưng, “Xây dựng mô hình cứng hóa … công nghệ FPGA.”<br />
Thông tin khoa học công nghệ<br />
<br />
Dữ liệu IP được đưa tới khối mã hóa và khối<br />
xác thực để thực hiện mã hóa và xác thực. Dữ<br />
liệu đầu ra của khối mã hóa và xác thực được<br />
đưa tới khối IP protocol Transmitted. Khối IP<br />
protocol Transmitted thực hiện đóng gói lại dữ<br />
liệu vừa mã hóa và truyền xuống lớp Ethenet để<br />
truyền vào mạng.<br />
Lưu đồ thuật toán xử lý gói được đưa ra trên<br />
hình 4. Khi hoạt động dựa trên hai tín hiệu báo<br />
có SA mới và báo tìm kiếm SA để xác định hoạt<br />
động. Nếu có tín hiệu báo có SA mới khối sẽ<br />
thực hiện tìm kiếm trên cơ sở dữ liệu đã lưu<br />
trong bộ nhớ RAM, nếu tham số về địa chỉ đích<br />
và SPI đã có khối sẽ thay thế toàn bộ các tham<br />
số hiện có bằng SA mới. Nếu có tín hiệu báo để<br />
tìm kiếm SA hệ thống sẽ căn cứ vào địa chỉ IP<br />
đích và SPI để xác địch xem có tồn tại SA hay<br />
không, nếu có tồn tại SA tín hiệu đồng bộ hệ<br />
thống và giá trị tham số của SA sẽ được đưa ra<br />
trong 1 chu kỳ clock tương ứng với độ rộng của<br />
xung báo đồng bộ, nếu không có tín hiệu không<br />
đồng bộ cũng sẽ được đưa ra để báo không có<br />
SA nào tồn tại tương ứng với các tham số cần<br />
tìm kiếm trong hệ thống.<br />
Mỗi SA bao gồm các giá trị: địa chỉ đích, giá<br />
trị SPI, giá trị khóa sử dụng cho thuật toán mã<br />
hóa. SA thực hiện việc cấp phép cho cấu hình Hình 4. Lưu đồ thuật toán xử<br />
của VPN, khi hệ thống gửi một gói dữ liệu, nó lý gói tin của giao thức ESP ở<br />
sẽ xem xét SA trong cơ sở dữ liệu và thực hiện chế độ Tunnel.<br />
việc xử lý cũng như chèn các giá trị SPI, SQN,<br />
địa chỉ đích và sau đó xử lý gói theo các thuật toán, khóa đã được quy định sẵn<br />
trong SA. Mỗi SA được thiết lập trong quá trình trao đổi khóa.<br />
Kết quả cài đặt giao thức trên chíp Xilinx Spartan6 XC6SLX100-2 được đưa ra<br />
trên hình 5.<br />
<br />
<br />
<br />
<br />
Hình 5. Kết quả cài đặt giao thức ESP chế độ tunnel trên chíp FPGA.<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 273<br />
Công nghệ thông tin<br />
<br />
3. KẾT QUẢ THỬ NGHIỆM<br />
Mô hình thử nghiệm được đưa ra như trên hình 6, máy tính 1 và máy tính 2 kết<br />
nối tới Gateway 1 và Gateway 2 được cài đặt giao thức ESP ở chế độ tunnel sử<br />
dụng chíp Spartan6 XC6SLX100-2 với Clock hệ thống 100MHZ. Hai Gateway<br />
được kết nối tới Switch layer 2, máy tính thứ 3 được kết nối tới cổng monitoring<br />
của switch để giám sát các gói tin truyền qua hệ thống qua phần mềm Wireshark.<br />
<br />
<br />
<br />
<br />
Máy tính 1<br />
<br />
Gateway 1<br />
Gateway 2 Máy tính 2<br />
Monitoring<br />
Hình 6. Mô hình thử nghiệm giao thức ESP chế độ tunnel.<br />
Hai máy tính 1 và 2 thực hiện việc copy file dữ liệu lớn sử dụng phần mềm<br />
FileZilla trên giao thức FTP Server sau khi đã được thiết lập giao thức trao đổi<br />
khóa IKEv2.0 để thực hiện thiết lập SAD.<br />
Bảng 1. Kết quả thử nghiệm.<br />
Kết quả thử nghiệm Kết quả thử nghiệm<br />
STT Tên tham số<br />
cho mạng 100Mb/s cho mạng 1000Mb/s<br />
1 Tốc độ copy dữ liệu 70Mp/s 250Mb/s<br />
2 Thời gian trễ