Xây dựng thuật toán, thử nghiệm đánh giá mô hình cứng hóa giao thức IKEv2.0

Tóm tắt: Giao thức IKEv20 thông thường được thực hiện trên phần mềm và sử

dụng mã nguồn mở. Bài báo đưa ra lược đồ cứng hóa giao thức trên nền công nghệ

FPGA để tăng độ mật, tăng tốc độ xử lý gói tin. Các giai đoạn của giao thức được

thực hiện theo nguyên lý xử lý song song và được cài đặt trên ngôn ngữ VHDL.

Giao thức có thể chạy trên các dòng chíp 6 Series, 7 Series của hãng Xilinx.

pdf 7 trang phuongnguyen 10900
Bạn đang xem tài liệu "Xây dựng thuật toán, thử nghiệm đánh giá mô hình cứng hóa giao thức IKEv2.0", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Xây dựng thuật toán, thử nghiệm đánh giá mô hình cứng hóa giao thức IKEv2.0

Xây dựng thuật toán, thử nghiệm đánh giá mô hình cứng hóa giao thức IKEv2.0
Công nghệ thông tin 
N. V. Thành, , Đ. N. Phục, “Xây dựng thuật toán, thử nghiệm  giao thức IKEv2.0.” 186 
XÂY DỰNG THUẬT TOÁN, THỬ NGHIỆM ĐÁNH GIÁ MÔ HÌNH 
CỨNG HÓA GIAO THỨC IKEv2.0 
Nguyễn Văn Thành1, Hoàng Đình Thắng2*, Trần Bình Minh2, Đỗ Ngọc Phục2 
Tóm tắt: Giao thức IKEv20 thông thường được thực hiện trên phần mềm và sử 
dụng mã nguồn mở. Bài báo đưa ra lược đồ cứng hóa giao thức trên nền công nghệ 
FPGA để tăng độ mật, tăng tốc độ xử lý gói tin. Các giai đoạn của giao thức được 
thực hiện theo nguyên lý xử lý song song và được cài đặt trên ngôn ngữ VHDL. 
Giao thức có thể chạy trên các dòng chíp 6 Series, 7 Series của hãng Xilinx. 
Từ khóa: Mã hóa, Bảo mật, IKEv2.0. 
1. ĐẶT VẤN ĐỀ 
Để tăng độ mật và tốc độ các hệ thống bảo mật thông tin trên mạng internet một 
trong những vấn đề cần giải quyết phải cứng hóa được giao thức IKE trên nền tảng 
phẩn cứng, và hiện thời công nghệ phù hợp với Việt Nam là công nghệ FPGA. 
Giao thức IKEv2.0 được sử dụng phổ biến trong thời điểm hiện tại. Để cứng hóa 
giao thức IKEv2.0 trước hết cần giải các bài toán sau: 
- Cứng hóa thuật toán trao đổi khóa Diffie–Hellman; 
- Cứng hóa các thuật toán mã hóa, xác thực, các hàm băm; 
- Cứng hóa các giai đoạn trong trao đổi khóa. 
Trong các vấn đề đó bài toán cứng hóa thuật toán trao đổi khóa, các thuật toán 
mã hóa, xác thực, tính toán các hàm băm để tối ưu tài nguyên là bài toán đặc biệt 
quan trọng, và chiếm lượng tài nguyên lớn trong toàn bộ hệ thống. 
2. XÂY DỰNG LƯỢC ĐỒ XỬ LÝ 
Sơ đồ miêu tả lược đồ IPSec tổng quan trong hệ thống được đưa ra trên hình 1. 
Hình 1. Cấu trúc tổ chức hệ thống IPSEC. 
Như ta thấy trên hình 1 sơ đồ khối chức năng bao gồm các khối: 
- IP filter: Thực hiện chức năng phân tích gói để xác định gói nằm trong 
SAD hay nằm ngoài SAD. 
- IKE: Thực hiện các nhiệm vụ trao đổi khóa bao gồm: 
 Tạo số ngẫu nhiên; 
 Thực hiện thuật toán trao đổi khóa Diffie–Hellman trên được cong 
ECC; 
 Thực hiện bộ giao thức trao đổi khóa trên chuẩn IKEv2.0. 
- Khối ESP: Thực hiện giao thức mã hóa và xác thực khối dữ liệu được 
truyền-nhận đến thiết bị. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 187
- Khối IPSEC control: thực hiện việc điều khiển và đồng bộ toàn bộ hệ 
thống; 
- Khối IP packet: thực hiện việc đóng gói giữ liệu theo chuẩn TCP/IP. 
INITIATOR RESPONDER
1. IKE_SA_INIT (Request)
2. IKE_SA_INIT (Response)
3. IKE_AUTH (Request)
4. IKE_AUTH (Response)
5. CREAT_CHILD (Request)
6. CREAT_CHILD (Response)
7. INFORMATION (Request)
8. INFORMATION (Response)
Hình 2. Các bước tạo tính toán trao đổi khóa trên cơ sở IKEv2.0. 
Lược đồ trao đổi khóa trên cơ sở IKEv2.0 thực hiện theo các bước như trên hình 
2 bao gồm 2 pha trao đổi khóa. 
Pha 1: bao gồm 2 bước. 
Bước 1, pha 1: tạo IKE SA và tính toán các nhân bảo mật; 
- Thương lượng thuật toán trao đổi khóa; 
- Tính toán các khóa bí mật cho IKE; 
- Tính toán các nhân bảo mật để tính toán các khóa IPSec trong pha 2. 
Bước 1 thực hiện việc tạo bộ số ngẫu nhiên, tính toán trao đổi khóa Diffie–
Hellman. Sau khi hai bản tin trao đổi được thực hiện, mỗi thiết bị cần tính toán 
SKEYSEED trên cơ sở các giá trị KEi và KEr. Phần cứng FPGA trong bước này 
thực chất làm các việc: 
- Thực hiện tính toán DH để tính toán các giá trị KEi, KEr; 
- Thực hiện tính toán giá trị khóa chung trên cơ sở KEi, và KEr; 
- Tính toán khóa SKEYSEED dựa vào hàm giả ngẫu nhiên đã được thương 
lượng và giá trị khóa chung, cũng như các tham số ngẫu nhiên gửi đi trong 
bản tin trao đổi khóa; 
- Tính toán các khóa cho việc mã hóa, xác thực, bảo vệ tính toàn vẹn cho 
bước 2, pha 1 thông qua các tham số được tính toán bên trên và hàm giả 
ngẫu nhiên đã được thương lượng. 
Bước 2, pha 1: Xây dựng cặp xác thực và thương lượng các thuật toán trong 
giao thức IPSec; 
- Xác thực lẫn nhau; 
Công nghệ thông tin 
N. V. Thành, , Đ. N. Phục, “Xây dựng thuật toán, thử nghiệm  giao thức IKEv2.0.” 188 
- Thương lượng các thuật toán IPsec. 
Bước 2, pha 1 thực chất xác thực lại các thuật toán và các tham số đã được 
thương lượng trong pha 1. Nhiệm vụ của bước này bao gồm: 
- Tạo các payload trên cơ sở các giá trị tính toán và thương lượng trong bước 
1; 
- Mã hóa gói tin trên bộ mã được trao đổi; 
- Tính toán xác thực lại các tham số đã trao đổi; 
- Thương lượng lại các thuật toán cho pha 2. 
Pha 2: Tạo SA 
- Thiết lập các SA cho AH hoặc ESP. 
2.1. Thực hiện tính toán trao đổi khóa Diffie–Hellman 
Lược đồ tính toán trao đổi khóa sử dụng trên cơ sở đường cong ECC, như miêu 
tả trên hình 3 (https://tools.ietf.org/html/rfc5753). 
Hình 3. Các bước tính toán trao đổi khóa dựa trên đường cong Eliptic. 
Phép nhân điểm trong tính toán trên đường cong ECC được thực hiên như trên 
hình: 
Hình 4. Phép nhân điểm thực hiện trên FPGA. 
2.2. Thực hiện hàm giả ngẫu nhiên sử dụng thuật toán SHA – 256 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 189
Lược đồ tính toán các phép toán giả ngẫu nhiên được thực hiện như trên hình 5. 
Hình 5. Lược đồ tính toán hàm giả ngẫu nhiên trên SHA – 256. 
2.3. Thực hiện bộ tạo tín hiệu ngẫu nhiên trên nền tảng công nghệ FPGA 
Cơ sở để tạo số ngẫu nhiên trên nền Xilinx FPGA là dựa vào đặc tính jitter 
trong các xung clock của chíp, các giá trị jitter trên chíp FPGA có thể được điều 
chỉnh bởi bộ nhân tần PLL trong tài nguyên của chíp. 
Kỹ thuật thông thường nhất sử dụng để tạo ra 1 bit ngẫu nhiên trên FPGA là sử 
dụng mạch đảo hoặc mạch XOR giống như hình 6. 
Hình 6. Mạch dao động vòng cơ sở sử dụng mạch đảo hoặc mạch XOR. 
Bằng việc lấy mẫu đầu ra, của các mạch vòng cơ sở các bit dao động ngẫu nhiên 
sẽ được lấy mẫu với giá trị ngẫu nhiên tương ứng. Hình 7 miêu tả một mạch lấy 
mẫu bit sử dụng mạch fip-flop. 
Hình 7. Mạch lấy mẫu bit ngẫu nhiên. 
Bài toán thực hiện tạo giả ngãu nhiên trên cơ sở 1024 vòng dao động như trong 
hình 7. 
3. KẾT QUẢ THỬ NGHIỆM 
3.1. Kết quả thử nghiệm lược đồ trao đổi khóa Diffie–Hellman 
Kiểm tra phép tính: 
xP = "010" & x"fe13c0537bbc11acaa07d793de4e6d5e5c94eee8"; 
Công nghệ thông tin 
N. V. Thành, , Đ. N. Phục, “Xây dựng thuật toán, thử nghiệm  giao thức IKEv2.0.” 190 
yP = "010" & x"89070fb05d38ff58321f2e800536d538ccdaa3d9"; 
kP0 = "000" & x"fe13c0537bbc11acaa07d793de4e6d5e5c94eee8"; 
kP1 = "000" & x"89070fb05d38ff58321f2e800536d538ccdaa3d9". 
Hình 8. Tính đúng đắn của phép tính k1k2P = k2k1P. 
Kết luận: với trường hợp đặc khóa k có số bít lớn nhất thời gian tính toán 
khoảng 56663 chu kỳ clock, với clock chạy 100MHz thời gian tính toán cho mỗi 
lần mã hóa là: 0,56 ms. 
3.2. Kết quả thử nghiệm tính toán giả ngẫu nhiên sử dụng thuật toán SHA–256 
Các tham số cài đặt của khối HMAC-SHA1 trên cơ sở phần mềm Xilinx ISE 14.5 
thực hiện với chíp Xilinx Spartan6 XC6SLX100-2 như miêu tả trong hình 9, 10. 
Hình 9. Tài nguyên sử dụng của khối trên chíp FPGA. 
Hình 10. Tốc độ xử lý của khối trên chíp FPGA. 
Nhận thấy số chu kỳ tính toán cho 1 block 512 bít dữ liệu hết 64 chu kỳ clock 
hệ thống. 
3.3. Kết quả thử nghiệm bộ tạo tín hiệu ngẫu nhiên trên nền tảng công nghệ 
FPGA 
Mô hình test được thực hiện như sau: 
Hình 11. Mô hình test thuật toán ngẫu nhiên. 
Khi có lệnh từ máy tính mạch FPGA sẽ thực hiện lấy các mẫu của bộ tạo số 
ngẫu nhiên và đưa lên máy tính PC là các số 8 bit (tương ứng các giá trị từ 0-255), 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 191
máy tính thu thập lượng và tính toán xác suất của các số (0-255) và vẽ kết quả ra 
thành các đồ thị. 
Như ta thấy trên các hình, xác suất xuất hiện các số có tần xuất trong các hình là 
không giống nhau, tuy nhiên, giá trị của chúng xuất hiện giao động quanh giá trị 
0,39% tương ứng với tần xuất xuất hiện là 1/256. 
Hình 12. Đồ thị biểu diễn xác suất các giá trị 8 bit. 
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 IKEv2 dựa trên 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. 
[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 
Công nghệ thông tin 
N. V. Thành, , Đ. N. Phục, “Xây dựng thuật toán, thử nghiệm  giao thức IKEv2.0.” 192 
ABTRACT 
IMPLEMENTATION AND EVALUATION ALGORITHM 
FOR IKEA PROTOCOL BASED ON FPGA 
In the paper, IKEv.20 protocol is implemented and evaluated based on 
FPGA. Usually, IKEv20 protocol is implemented as software module and it 
is known open source project. A new scheme based on FPGA is proposed in 
order to improving security and speed up packet processing. Phases of 
protocol is implemented based on parallel techniques and using VHDL 
language. The results show that this protocol can be used in hardware 
security module. The implementation can be run on 6 series, 7 series of 
Xilinx. 
Keyword: Security, Encryption, IKEv2.0. 
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. 

File đính kèm:

  • pdfxay_dung_thuat_toan_thu_nghiem_danh_gia_mo_hinh_cung_hoa_gia.pdf