Quy trình xây dựng và thiết kế hệ thống cấu hình từng phần dựa trên FPGA của Xilinx được thực hiện nhờ cô g cụ PlanAhead n [109] mà hãng cung cấp kèm theo trong bộ công cụ ISE như được trình bày trong Hình 4.8:
Trong đó
- ngc: là các tập tin dữ liệu *.ngc ở dạng netlist chứa các mô đun chức năng sau quá -
trình tổng hợp của các công cụ thiết kế như ISE, XPS của Xilinx.
- ucf: là các tập tin dữ liệu *.ucf chứa thông tin ràng buộc và gán chân cho các khối trong hệ thống.
- elf: là các tập tin ảnh *.elf chứa các chương trình phần mềm nhúng chạy trên vi xử
lý nhúng. *elf được sinh ra sau quá trình biên dịch từ bộ công cụ SDK.
- Full bitstream: là tập tin *.bit, đây là tập tin cấu hình đầy đủ cho FPGA trong hệ
thống cấu hình lại được từng phần.
- Partial bitstream: là tập tin *.bit, là tập tin từng phần, đại diện cho một mô đun từng -
phần có thể cấu hình lại được.
Các bước thực hiện cấu hình lại từng phần FPGA:
- Các tập tin *.ngc, *.ucf và *.elf được đưa vào PlanAhead để xác định vị trí các
module (Floor) trên FPGA đâu là phần tài nguyên mà các mô-đun từng phần sẽ được cấu hình lên đó.
- Sau đó, PlanAhead sẽ thực hiện hai quá trình Implement và Timing để tạo ra các tập tin “ Bitstream đầy đủ” dùng cho việc cấu hình toàn bộ FPGA và các tập tin “Bitstream từng phần” dùng để cấu hình cho các khu vực cấu hình lại được từng phần.
83
Giao diện chương trình quản lý cập nhật ừngt ph ần
Hình 4.9 ình qu lý cTr ản ập nh tật ừng ph máy ần trạm CuM
Để thực hiện mô hình th nghiử ệm, t ác gi xây dả ựng hai mô un cđ ấu hình lạiđược từng
ph là: mô un th hi ph nhân hai to hần đ ực ện ép án ạngMult và mô un th hi ph cđ ực ện ép ộng
hai to hán ạngAdder.
Hai mô un đ Mult và Adder sau khi được ập c nh t mật ừ áy chủ ập c nh s ật ẽ được ư l u vào b nh RAM trên thi b . Chúng s s dộ ớ ết ị ẽ ử ụng chung m phân vùng c hình l ột ấu ại được
từng ph ên FPGA c ần tr ủa người dùng. Trình qu lý c nh tản ập ật ừng ph mần ở áy trạm ẽ s quy ết địnhchọn và cho ph mô un ch n ng n c n v h ép đ ức ă ào ần ạp ào ệthống và đểthực ện hi nhiệm ụ ủa v c mình. N không c s dếu ần ử ụng đến, c mô un n có ác đ ày thể được giải phóng bằng cách c hình lên phân vùng m mô un ấu đó ột đ Blank.
Mô un đ Blank là m mô un trột đ ắng không th ựchiện ất ứ b c chức ă n ng n . Vì vào ậy nó ho àn toàn không tiêu th i n ng, i n s có ích trong vi ụ đ ện ă đ ều ày ẽ ệctiết ệm ăng lượng ủa ki n c h ệthống.
4.2 K t qu ế ả và đánh giá
Để thể hiện tính linh hoạt và tính đa dạng trong thực hiện bảo mật bitstream như framework đã đề xuất, luận án này xây dựng các khối mã hóa và xác thực theo hai cách:
- Hoàn toàn bằng phần mềm
84
Việc mã hóa và xác thực bitstream là bắt buộc trong framework và giao thức an toàn cập nhật của luận án này cũng như trong các hệ thống bảo mật hiện đại. Vì vậy, tốc độ thực hiện của các bộ mã hóa và xác thực có yếu tố quyết định trong toàn bộ quá trình cập nhật hệ thống. Tùy thuộc vào t nguyên cài ủa từng thiết bị và nhu cầu thực t c ế ủa người dùng,
việc lựa chọn thực hiện bằng phần cứng phần mềm , hoặc kết hợpsẽ cho một kết quả thích hợp.
4.2.1. Giải pháp b ng ph n m m ằ ầ ề
Để thực hiện phần mềm, luận án này sử dụng các bộ giải mã AES-256, bộ xác thực
SHA-512, bộ giải mã RSA và bộ giải nén RLE được cung cấp từ nguồn [110 ] và [111]. Khi thực hiện các thuật toán này trên MicroBlaze, luận án này đã có một vài sửa đổi và tối ưu để phù hợp hệ thống của mình. Bảng 4.3 tóm tắt kết quả thực hiện bằng phần mềm của các thuật toán được xem xét trong hai tham số: kích thước bộ nhớ và thông lượng của từng thuật toán.
Có thể thấy rằng tốc độ thực hiện bằng phần mềm trên hệ thống của luận án này là
tương đương với việc thực hiện AES-128 và SHA-256 chạy trên MicroBlaze của FPGA
Virtex-II Pro [112]. Mặc dù việc thực hiện bằng phần mềm là chậm hơn so với việc thực hiện bằng phần cứng, nhưng nó không tiêu thụ thêm bất kỳ nguồn tài nguyên phần cứng nào của FPGA. Trong khi việc thực hiện bằng phần cứng chiếm xấp xỉ 31,5 tài nguyên % Slice của FPGA Spartan-6 LX45, xem Bảng 4.4 Con số 31,5% cho chúng ta thấy rằng, .
việc thực hiện bằng phần cứng các thuật toán mã hóa và xác thực đối với các hệ thống dựa trên FPGA chi phí thấp là rất lớn so với tổng số tài nguyên sẵn có của nó. Trong khi đó, chi
phí về bộ nhớ dùng cho các thuật toán này khi thực hiện bằng phần mềm là khá nhỏ so với kích thước của bộ nhớ flash và DDRAM có sẵn trong các hệ thống nhúng hiện nay. Với thông lượng như trong Bảng 4.3, phải mất vài giây để cập nhật thành công một bitstream
từng phần (thường có dung lượng vài chục đến vài trăm K . B) Luận án này tin rằng điều
này là có thể chấp nhận được vì việc cập nhật xảy ra là không thường xuyên.
Bảng 4.3 Kết quả thực hiện bằng phần mềm với FPGA Atlys Spartan-6
Thuật toán Số dòng lệnh trong C Thông lượng (Kbps) Kích thước bộ nhớ (KB) AES-256 488 62,5 17 SHA-512 500 135 17 RSA 66 0,29 2 RLE 120 247 5
85
4.2.2. Giải mã và xác th c b ng ph n c ng ự ằ ầ ứ
Ở trong phần này, luận án này chọn thực hiện các bộ giải mã AES-256 và bộ xác thực
SHA-512 trong phần cứng Bộ giải nén RLE và thuật toán RSA vẫn được thực hiện trong .
phần mềm nhúng. Để thực hiện phần cứng, luận án này sử dụng lõi IP AES-256 và SHA- 512 được cung cấp từ OpenCores [113], và đã nhiều lần sửa đổi, bổ sung và tối ưu cho phù hợp với hệ thống của mình.
Kết quả về tài nguyên sử dụng và tốc độ thực hiện được thể hiện tương ứng trong các
Bảng 4.4 và ảng 4.5. Kết quả này cho thấy tài nguyên phần cứng sử dụng cho bộ giả mã B AES-256 và bộ xác thực SHA 512 là tương đối lớn, chiếm lần lượt 18,95- % và 12,48 tài %
nguyên Slice của FPGA Spartan 6 LX45. Tuy nhiên, thông lượng của hệ thống là tăng -
đáng kể so với việc sử dụng bằng phần mềm nh ưđã nêu trên.
Bảng 4.4 S d ng tài nguyên ph n c ng c a AES-256 và SHA-512 (Atlys Spartan-6) ử ụ ầ ứ ủ
Lõi IP Tài nguyên s dử ụng
Registers LUTs Slice AES-256 3.096 (5,67%) 3.751 (13,74 %) 1.293 (18,95 %)
SHA-512 2.246 (4,11 %) 2.299 (8,42 %) 848 (12,48 %) Bảng 4.5 Hiệu năng thực hiện trên FPGA Atlys Spartan-6.
Thuật toán Thông lượng
AES-256 13,8 Mbps
SHA-512 30 Mbps
T phân tích ên, gừ tr iải pháp mà luận án này đề xuất là thực hiện các bộ mã hóa AES- 512 và b ộ xác thực SHA-512 trong khu vực cấu hình lại được từng phần sẽ giải quyết được hai vấn đề sau:
- Tiết kiệm tài nguyên hệ thống bằng cách giải phóng các bộ mã hóa và xác thực khi
không cần dùng đến Đối. với h thệ ống ử ụng s d FPGA chi phí thấp nh FPGA Spartan-ư
6 LX45 thì t nguyên slice s ài ẽgiải phóng lên đến 31,43% t nguyên c c FPGA. ài ủa ả
- Nâng cao hiệu năng và tính an toàn của hệ thống so với việc thực hiện bằng phần mềm. ă C n c v sứ ào ố liệu trong Bảng 4.3 và Bảng 4.5, thông lượng ủa c AES-256 s ẽ
t ng lên g khoă ấp ảng 220 l và ông lần th ượng ủa c SHA-512 s t ng lên g khoẽ ă ấp ảng 222 l . ần
86
Luận án này ũng c tiến hành thực hiện bằng ph n cầ ứng ên FPGA ML605 Virtex-6 tr XC6VLX240T và k qu ết ả đạt được nh ư thể ện trong Bảng hi 3.4 và Bảng 3.5. K qu n ết ả ày
cho ta thấy, các bộ mã hóa và xác thực chiếm một phần rất nhỏ trong tổng số tài nguyên của FPGA Virtex 6 của Xilinx, trong l- úc đó tốc độ thực hiện cũng nhanh hơn r nhiều. ất Nguyên nhân chính để có được kế quả này là tài nguyên sẵn có và tốc độ của các FPGA
Virtex-6 cao hơn nhiều so với FPGA Spartan-6.
Như vậy, với các hệ thống nhúng cấu hình lại được từng phần dựa trên các FPGA có t cao và t nguyên ốc độ ài lớn, việc thêm các tính năng bảo mật là dễ dàng hơn nhiều. Do đó, các hệ thống nhúng dựa ên FPGA lotr ại n ày cho phép chúng ta cân nhắc thực hiện các thuật mậtmã an toàn hơn, phức tạp hơn để có mức độ bảo mật cao hơn.
4.2.3. Giải pháp k t h p ph n c ng và ph n m m ế ợ ầ ứ ầ ề
Trên nguyên tắc, trong quy trình thực hiện cập nhật hệ thống, ứng dụng nào có thể là lựa chọn không bắt buộc và không ảnh hưởng nhiều đến tính bảo mật và tốc độ của hệ thống thì được thực hiện trong phần mềm. Ngược lại sẽ được thực hiện trong phần cứng. Với các bộ mã hóa, xác thực, nén được luận án này xây dựng thành các lõi IP, việc kế hợp t
giữa phần cứng và phần mềm sẽ là giải pháp thật linh hoạt và d dàng thễ ực hiện. Cu ối
cùng, việc thiết kế và thực hiện bảo mật bitstream cho các hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA ẽ đư s ợc quyếtđịnh ởi b t nguyên c h ài ủa ệ thống sẵn có và nhu c b m c ầu ảo ật ủa người ử ụng s d .
4.3 K t luế ận chƣơng
Luận án này xây dựng và triển khai hệ thống thử nghiệm đối với một hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA. Hệ thống đã thể hiện một mô hình hoàn chỉnh cho việc bảo mật bitstream của FPGA khi cập nhật t xa qua mừ ạng Internet.
Hệ thống của luận án này cho phép kết hợp linh hoạt các bộ mã hóa, xác thực và nén
bitstream bằng phần cứng hoặc phần mềm nhúng. Tùy thuộc vào tài nguyên hệ thống và nhu cầu của người dùng mà có quyết định thích hợp để thực hiện việc bảo vệ bitstream hoặc hệ thống của mình một cách linh hoạt mà vẫn đạt được hiệu năng cao nhất có thể.
Mô hình thực hiện trên của luận án này chỉ dừng lại ở việc thực thi các thuật toán cho
việc cấu hình lại từng phần dựa trên FPGA với một bộ vi xử lý nhúng. Việc nghiên cứu tiếp theo là thực hiện bài toán trên với các nền tảng nhúng vớivi xử lýđa lõi, đa luồng.
87 K t luế ận và hƣớng phát tri n ể
Đóng góp khoa học c a lu n án ủ ậ
Nội dung của luận án là một chủ đề xuyên suốt bắt đầu từ các khảo sát về bảo mật, tổng quan về lý thuyết, đề xuất giải pháp và xây dựng mô hình mẫu để đánh giá việcbảo mật bitstream của hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA. Mô hình
nghiên cứu và thực hiện như thể hiện trong Hình 5.1.
Hình 5.1 Mô hình nghiên cứu và thực hiện của luận án
Các nội dung được ch ỉ ra sau đây lần đầu tiên được đềxuất và th c hi n trong lu n án ự ệ ậ này. Đây cũng chính là các đóng góp khoa học c a lu n án. ủ ậ
Đề xuất một Framework end- -to end cho việc cập nhật an toàn từ xa đối với hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA.
Nội dung của đề xuất này được trình bày trong Chương 2 và đã công bố trong các bài
báo hội nghị quốc tế ICCE 2012 và tạp chí quốc tế IJCDS số 3 năm 2014.
Xây dựng bộ giao thức đảm bảo an toàn và linh động khi cập nhật hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA qua mạng Internet.
Nội dung của đóng góp này được trình bày trong Chương 2 và đã công bố trong các bài báo hội nghị quốc tế ICCAIS 2013, chuyên san Bưu chính Viễn thông năm , 2014
và tạp chí đại học Đà Nẵng, năm 2014.
Đề xuất giải pháp sử dụng linh hoạt các thuật toán bảo mật được xây dựng trong phần cứng và phần mềm, kết hợp với thuật toán nén bitstream để tăng tốc và giảm tài nguyên 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 chức năng cập nhật từ xa.
88
Nội dung của đề xuất này được trình bày trong Chương 3 và đã công bố trong các bài
báo hội nghị quốc tế ICBSBE 2012, ComManTel 2013, tập chí đại học Đà Nẵng số
12(61) năm 2012, tạp chí nghiên cứu Khoa học và công nghệ quân sự ố s 31, n m 2014 ă và tạp chí quốc tế AJESA, USA, số 2 năm 2014.
Hƣớng phát tri n trong th i gian t i ể ờ ớ
Toàn b n i dung và các k t qu ộ ộ ế ả đạt được c a ủ luận án chỉ ra r ng nghiên c u v bằ ứ ề ảo m t các h ậ ệ thống nhúng c u hình lấ ại được là r t c n thi t, kh thi và có nhi u ng d ng ấ ầ ế ả ề ứ ụ
tiềm năng. Hướng phát tri n là tri n khai ể ể thử nghiệm và thực hiện các phương pháp đã đề xuất trên h th ng v i các b vi x ệ ố ớ ộ ử lý đa lõi đa luồng, đây là xu hướng công ngh vi x lý ệ ử đang và sẽ được áp d ng r ng rãi trong c hụ ộ ác ệ th ng nhúng c u hình l i ố ấ ạ đượ ừc t ng ph n ầ
89
Danh m c các công trình khoa hụ ọc đã công bố ủa luậ c n án
Hội thảo quố ếc t
1. Tran Thanh, Pham Ngoc Nam, Tran Hoang Vu, Nguyen Van Cuong, “A Framework for Secure Remote Updating of Bitstream on Runtime Reconfigurable Embedded Platforms,” In Proceeding of the fourth International Conference on Communications and Electronics (ICCE 2012), Hue, Vietnam, 2012. pp. 471 476. -
2. Tran Thanh, Tran Hoang Vu, Pham Ngoc Nam, Nguyen Van Cuong, “A Novel Approach to Protect Intellectual Property Core of FPGA-Based Partially Reconfigurable Systems,” The 2012 International Conference on BioSciences and BioElectronics, Danang, Vietnam, 2012, pp. 42-45.
3. Tran Thanh, Vu Huu Tiep, Tran Hoang Vu, Pham Ngoc Nam, Nguyen Van Cuong, “Secure Remote Updating of Bitstream in Partial Reconfigurable Embedded Systems based on FPGA,” In Proceeding of The International Conference on Computing, Management and Telecommunications (ComManTel 2013), Tp HCM, Vietnam, 2013,
pp. 225-229.
4. Tran Thanh, Tran Hoang Vu, Nguyen Van Cuong, Pham Ngoc Nam, “A Protocol for Secure Remote Update of Run-time Partially Reconfigurable Systems Based on FPGA,” The Second International Conference on Control, Automation and Information Sciences (ICCAIS 2013 , Nha Trang, Vietnam, №vember, 2013, pp. 225-)
229.
Tạp chí trong và ngoài nước
5. Tran Thanh, Tran Hoang Vu, Pham Ngoc Nam, Nguyen Van Cuong, “A Novel Approach to Protect Intellectual Property Core of FPGA-Based Partially
Reconfigurable Systems,” Journal of Science and Technology, The
University of Danang. Danang, Vietnam, Vol. 1, №. 12(61), pp 112-118, 2012. 6. Tran Thanh, Tran Hoang Vu, Nguyen Van Cuong, Pham Ngoc Nam, “Protecting
FPGA-based Partially Reconfigurable Embedded Systems and IP Cores from Remote Update,” International Journal of Computing and Digital Systems (IJCDS), Vol.3, pp 21-27, University of Bahrain, January, 2014.
7. Tran Thanh, Tran Hoang Vu, Nguyen Duy Phuong, Do Son Tung, Cuong Nguyen- Van, Nguyen Van Cuong, Pham Ngoc Nam, “Enhance Performance in Implementing
the Security of Partially Reconfigurable Embedded Systems,” American Journal of Embedded Systems and Applications (AJESA), Vol. 2(1), pp 1-5, USA, February, 2014.
8. Vu Huy The, Tran Thanh, Pham Ngoc Nam, Pham Ngoc Thang, “Nén Bitstream Sử Dụng Run Length Encoding Trên Nền Tảng Hệ Nh- úng FPGA,” Tạp chí Nghiên cứu