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 - Nguyen Van Thanh: 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...
7 trang |
Chia sẻ: quangot475 | Lượt xem: 541 | Lượt tải: 0
Bạn đang xem 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 - Nguyen Van Thanh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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.
Các file đính kèm theo tài liệu này:
- 19_1952_2151891.pdf