Hệ thống FPGA Thuật toán Slice Thông lượng
[30] XC5VLX50T AES-128 SHA-256 AES-GCM 675 (10%) 567 (7%) 1,226 (16%) 1.164 Mbps 701 Mbps 1.067 Mbps Hệ thống của luận án này XC6VLX240T AES-256 SHA-512 1.293 (3,43%) 843(2,25%) 492,9 Mbps 309,9 Mbps Trong [83], I. Gonzalez và F.J. Gomez-Arribas trình bày các lựa chọn thay thế khác nhau để tăng hiệu suất của các thuật toán mã khối trong các hệ thống nhúng dựa trên bộ xử lý lõi mềm MicroBlaze. Để so sánh, một số hiện thực các thuật tốn mật mã thơng thường nhất đã được triển khai. Các kiến trúc tùy chọn được cung cấp bởi MicroBlaze cùng với những lựa chọn khác nhau để kết nối lõi tùy chỉnh tăng tốc đã được xem xét và đánh giá. Không cần một nỗ lực thiết kế tuyệt vời, sự cải tiến đạt hai lần nhanh hơn so với tất cả các giải pháp phần mềm. Các tác giả chỉ ra rằng một số yếu tố hạn chế của việc cải thiện hiệu suất trong hệ thống nhúng dựa trên FPGA là:
- Cơng nghệ của logic cấu hình,
- Tốc độ truyền dữ liệu của các giao diện giữa bộ vi xử lý nhúng và logic cấu hình, - Tốc độ của bộ vi xử lý nhúng và
- Băng thông bộ nhớ.
Kết quả chứng minh rằng một trong những nút thắt cổ chai quan trọng nhất là băng thông và độ trễ của giao diện kết nối bộ vi xử lý nhúng vào logic cấu hình lại. Nếu giao diện tốt nhất được lựa chọn, các nhà thiết kế có thể có được một sự cải tiến của nhiều hơn rất nhiều so với các giải pháp phần mềm. Như vậy, trong một hệ thống dựa trên MicroBlaze, sự linh hoạt được cung cấp bởi FPGA có thể được sử dụng để tăng thông lượng cho các ứng dụng bảo mật.
3.5 Kết luận chƣơng
Hệ thống cấu hình lại được từng phần dựa trên FPGA có thể kết hợp bộ xử lý nhúng với các phần cứng chuyên dụng sẽ như là một nền tảng phần cứng của giải pháp hệ thống trên chip SoC. Từ nền tảng phần cứng này c ng với các phần mềm nhúng, chúng ta có thể thiết lập nên các hệ thống đáp ứng mọi yêu cầu thiết kế đề ra. Tuy nhiên, các hệ thống dựa trên FPGA thường bị ràng buộc tốc độ và hạn chế về tài nguyên. Vì vậy việc thiết kế thêm
73 các tính năng bảo mật vào các hệ thống này thường phải cân nhắc và xem xét trên nhiều khía cạnh khác nhau.
Trong chương này, với mục tiêu là tăng hiệu năng, tính linh hoạt và tối ưu tài nguyên hệ thống của các hệ thống nhúng cấu hình lại được từng phần khi thực hiện các giải pháp bảo mật như đã đề xuất trong Chương 2, luận án này đã đề xuất và thực hiện:
- Sử dụng các thuật tốn mã hóa và xác thực trong khu vực cấu hình lại được, đảm bảo tất cả các file bitstream từng phần ln ln được mã hóa và xác thực trước khi trao đổi qua mạng và cập nhật lại hệ thống. Việc thêm bộ giải mã AES-256 và bộ xác thực SHA-512 làm cho hệ thống an toàn hơn, tốc độ thực hiện nhanh hơn mà không làm tăng đáng kể tài nguyên của hệ thống.
- Sử dụng thuật toán nén RLE để nén bitstream. Thuật toán cho một kết quả tốt thể hiện ở tỉ số nén và giải pháp giải nén thực hiện dễ dàng trên hệ thống nhúng dựa trên FPGA. Kỹ thuật nén này kết hợp với khả năng cấu hình lại được từng phần của FPGA sẽ đem đến một giải pháp hiệu quả trong việc giảm dung lượng bộ nhớ lưu trữ và làm giảm thời gian cập nhật hệ thống.
- Giải pháp sử dụng lõi AXI-Master với hai bộ đệm dữ liệu FIFO đã giải quyết vấn đề băng thông giữa bộ vi xử lý nhúng và phần logic cấu hình. Như vậy, trong một hệ thống nhúng dựa trên FPGA, với các lõi tăng tốc có sẵn có thể được sử dụng để tăng thơng lượng cho các ứng dụng bảo mật.
74
CHƢƠNG 4
MƠ HÌNH THỬ NGHIỆM HỆ THỐNG CẤU HÌNH LẠI ĐƢỢC TỪNG PHẦN DỰA TRÊN FPGA
Giới thiệu: Chương này trình bày các bước, các cơng cụ để xây dựng mơ hình mẫu trên
thiết bị FPGA ML605 Virtex-6 XC6VLX240T của Xilinx và FPGA Atlys Spartan-6 LX45 của Digilent giúp cho việc kiểm tra và đánh giá về bảo mật hệ thống nhúng cấu hình lại được từng phần như đã đề xuất ở Chương 2 và 3. Mơ hình này cùng với các mã thuật tốn (code) được cung cấp đầy đủ trong phần phụ lục sẽ là một cơ sở dữ liệu quan trọng cho các nghiên cứu kế thừa về sau.
4.1 Xây dựng hệ thống 4.1.1. Cài đặt hệ thống 4.1.1. Cài đặt hệ thống
Để kiểm tra framework, giao thức và các giải pháp bảo mật đã đề xuất, luận án này đã xây dựng một hệ thống mẫu thử nghiệm trong đó bao gồm một nền tảng nhúng cấu hình lại được dựa trên board phát triển FPGA ML605 Virtex-6 XC6VLX240T của Xilinx và một máy tính xách tay đóng vai trị của nhà cung cấp dịch vụ (Hình 4.1). Board FPGA ML605 Virtex-6 XC6VLX240T [104] và máy tính xách tay được kết nối với nhau thông qua một kết nối Ethernet. Một hệ thống tương tự cũng được thực hiện để so sánh hiệu năng và tài nguyên hệ thống trên board phát triển FPGA Atlys Spartan-6 LX45 [105].
FPGA ML605 Virtex-6 XC6VLX240T FPGA Atlys Spartan-6 LX45
75 Bảng 4.1 sau đây cho ta thấy một số thông số kỹ thuật đặc trưng của FPGA ML605 Virtex-6 XC6VLX240T của Xilinx (thuộc dòng FPGA cao cấp) và FPGA Atlys Spartan-6 LX45 (thuộc dịng FPGA chi phí thấp). Việc luận án này chọn hai dịng FPGA khác nhau giúp cho việc khảo sát và đánh giá đầy đủ hơn và để giúp cho các nhà thiết kế bảo mật có những lựa chọn ph hợp hơn.