Bài viết miêu tả giải pháp cứng hóa giao thức ESP ở chế độ tunel sử dụng công nghệ FPGA. Ở đây, đưa ra lược đồ để phân tích, đóng gói, mã hóa, giải mã gói tin ở lớp IP để xử lý giao thức ESP trong chế độ tunel theo nguyên lý pipeline, đảm bảo giảm độ trễ, tăng tốc độ xử lý gói tin.
Trang 1XÂY DỰNG MÔ HÌNH CỨNG HÓA GIAO THỨC BẢO MẬT ESP
TRÊN NỀN TẢNG CÔNG NGHỆ FPGA
Nguyễn Văn Thành1, Hoàng Đình Thắng2*, Hoàng Văn Toàn2, Phạm Hải Hưng2
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ử
dụng công nghệ FPGA Ở đây, đưa ra lược đồ để phân tích, đóng gói, mã hóa, giải
mã gói tin ở lớp IP để xử lý giao thức ESP trong chế độ tunel theo nguyên lý pipeline, đảm bảo giảm độ trễ, tăng tốc độ xử lý gói tin Giao thức được thử nghiệm 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 Series của hãng
Từ khóa: Mã hóa, Bảo mật, ESP
1 ĐẶT VẤN ĐỀ
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 mạng riêng ảo (VPN – Virtual Private Networks) là tăng hiệu năng của hệ thống, 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 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ệ Opensources và FPGA, trong đó FPGA đóng thực hiện các thuật toán mã hóa dữ liệu Tuy nhiên, ngay cả với kỹ thuật này cũng có nhiều nhược điểm như:
- Hiệu năng thấp;
- Độ trễ gói lớn;
- Xác suất lỗi gói lớn
Để 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 toàn giao thức ESP sử dụng chế độ tunnel trên nền tảng công nghệ FPGA
2 XÂY DỰNG MÔ HÌNH XỬ LÝ
A
New IP Header
ESP
Orig IP Header
Encrypted
B
Hình 1 Mô hình mạng thực hiện ESP trong chế độ tunnel
Mô hình mạng thực hiện ESP trong chế độ Tunnel được đưa ra trên hình 1, định 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ể thấy để thực hiện được việc cứng hóa giao thức ESP trong chế độ tunnel cần giải quyết các bài toán:
- Phân tích toàn bộ các gói tin trong mạng đến lớp IP;
- 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 nguồn, kiểu giao thức, các tham số như chỉ số SPI;
- Đóng gói gói tin IP thời gian thực;
- Thực hiện đóng gói các giao thức ESP;
Trang 2- Thiết lập và tìm kiếm các tham số gói tin trong SAD (Security Association DataBase);
- 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 hoặc thuật toán đặc thù;
- Thực hiện xác thực gói tin qua các thuật toán như SHA, MD5
Hình 2 Định dạng gói tin của giao thức ESP trong chế độ tunnel
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ụ trong chuỗi nhiệm vụ thực hiện giao thức ESP trong chế độ tunnel
Sơ đồ xử lý gói tin để thực hiện giao thức ESP trong chế độ Tunnel được đưa ra trên hình 3
IP protocol check
IP protocol reciver
Mã hóa
Xác thực
IP protocol Transmitted
Dữ liệu vào từ
lớp Ethernet
Hình 3 Sơ đồ xử lý gói tin để thực hiện giao thức ESP trong chế độ Tunnel
Trong hình 3: Khối IP protocol check sẽ kiểm tra địa chỉ IP, dạng giao thức của 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 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ẽ được bỏ qua và truyền thẳng xuống lớp Ethernet để truyền vào mạng
Khối IP protocol reciever thực hiện phân tích dữ liệu để lấy ra các tham số như sau:
- MAC address;
- IP header;
- Dữ liệu của lớp IP (IP data + IP header);
Trang 3Dữ liệu IP được đưa tới khối mã hóa và khối
xác thực để thực hiện mã hóa và xác thực Dữ
liệu đầu ra của khối mã hóa và xác thực được
đưa tới khối IP protocol Transmitted Khối IP
protocol Transmitted thực hiện đóng gói lại dữ
liệu vừa mã hóa và truyền xuống lớp Ethenet để
truyền vào mạng
Lưu đồ thuật toán xử lý gói được đưa ra trên
hình 4 Khi hoạt động dựa trên hai tín hiệu báo
có SA mới và báo tìm kiếm SA để xác định hoạt
động Nếu có tín hiệu báo có SA mới khối sẽ
thực hiện tìm kiếm trên cơ sở dữ liệu đã lưu
trong bộ nhớ RAM, nếu tham số về địa chỉ đích
và SPI đã có khối sẽ thay thế toàn bộ các tham
số hiện có bằng SA mới Nếu có tín hiệu báo để
tìm kiếm SA hệ thống sẽ căn cứ vào địa chỉ IP
đích và SPI để xác địch xem có tồn tại SA hay
không, nếu có tồn tại SA tín hiệu đồng bộ hệ
thống và giá trị tham số của SA sẽ được đưa ra
trong 1 chu kỳ clock tương ứng với độ rộng của
xung báo đồng bộ, nếu không có tín hiệu không
đồng bộ cũng sẽ được đưa ra để báo không có
SA nào tồn tại tương ứng với các tham số cần
tìm kiếm trong hệ thống
Mỗi SA bao gồm các giá trị: địa chỉ đích, giá
trị SPI, giá trị khóa sử dụng cho thuật toán mã
hóa SA thực hiện việc cấp phép cho cấu hình
của VPN, khi hệ thống gửi một gói dữ liệu, nó
sẽ xem xét SA trong cơ sở dữ liệu và thực hiện
việc xử lý cũng như chèn các giá trị SPI, SQN,
địa chỉ đích và sau đó xử lý gói theo các thuật toán, khóa đã được quy định sẵn trong SA Mỗi SA được thiết lập trong quá trình trao đổi khóa
Kết quả cài đặt giao thức trên chíp Xilinx Spartan6 XC6SLX100-2 được đưa ra trên hình 5
Hình 5 Kết quả cài đặt giao thức ESP chế độ tunnel trên chíp FPGA
Hình 4 Lưu đồ thuật toán xử
lý gói tin của giao thức ESP ở
chế độ Tunnel
Trang 43 KẾT QUẢ THỬ NGHIỆM
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 nối tới Gateway 1 và Gateway 2 được cài đặt giao thức ESP ở chế độ tunnel sử dụng chíp Spartan6 XC6SLX100-2 với Clock hệ thống 100MHZ Hai Gateway đượ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 của switch để giám sát các gói tin truyền qua hệ thống qua phần mềm Wireshark
Máy tính 1
Máy tính 2 Monitoring
Gateway 1
Gateway 2
Hình 6 Mô hình thử nghiệm giao thức ESP chế độ tunnel
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 FileZilla trên giao thức FTP Server sau khi đã được thiết lập giao thức trao đổi khóa IKEv2.0 để thực hiện thiết lập SAD
Bảng 1 Kết quả thử nghiệm
cho mạng 100Mb/s
Kết quả thử nghiệm cho mạng 1000Mb/s
4 KẾT LUẬN
Bài báo đưa ra giải pháp cứng hóa toàn bộ giao thức ESP trong chế độ tunnel
sử dụng công nghệ FPGA, việc áp dụng công nghệ này mang đến một số ưu điểm như sau:
- Tốc độ mã hóa dữ liệu tăng lên nhiều so với phương pháp truyền thống;
- Giảm độ trễ xử lý gói;
- Tăng độ mật của hệ thống do chuyển từ nền tảng phần mềm thành nền tảng phần cứng
TÀI LIỆU THAM KHẢO
[1] CJ Clark, FPGA Security, FPGA Configuration, FPGA Bitstream, FPGA Authentication, 2009
Trang 5[2] Ted Huffmire, Thuy D Nguyen, Managing Security in FPGA-Based Embedded Systems 2006
[3] Lattice, FPGA Design Security Issues, 2007
[4] Viktor K Prasanna and Andreas Dandalis, FPGA-based Cryptography for Internet Security, 2005
[5] Thomas Wollinger, Cryptography on FPGAs: State of the Art Implementations and Attacks 2003
[6] Jian Huang, FPGA Implemetations on Elliptic Curve Cryptography and Tate pairing over Binary Field, 2007
[7] Mark McLean and Jason Moore, FPGA-Based Single Chip Cryptographic Solution, 2007
[8] Arshad Aziz and Nassar Ikram, An FPGA-based AES-CCM Crypto Core For IEEE 802.11i Architecture, 2007
[9] https://tools.ietf.org/html/rfc7402
ABSTRACT
A HARDWARE STRUCTURE FOR ESP PROTOCOL SECURITY
BASED ON FPGA
In the paper, a hardware structure for ESP protocol security based on
FPGA in tunnel mode is presented A scheme is proposed for analyzing,
packaging, encrypting/decrypting at IP layer to processing ESP protocol in
tunnel mode with pipeline principle This technique improves performance of
processing packet and reducing latency The hardware structure is
implemented and tested on Spartan-6 of Xilinx, and it can be implemented on
6 series, 7 series of Xilinx
Keywords: FPGA, ESP, SA
Nhận bài ngày 16 tháng 8 năm 2017 Hoàn thiện ngày 26 tháng 11 năm 2017 Chấp nhận đăng ngày 28 tháng 11 năm 2017
Địa chỉ: 1 Viện Vật lý Kỹ thuật/ Viện KHCNQS;
2
Viện CNTT/ Viện KHCNQS
*
Email: hoangdinhthang@gmail.com