35 Các hệ thống nhúng tạo thành nền tảng cho cái gọi là thời kì hậu PC, trong đó việc xử lý thông tin ngày càng chuyển dịch ra xa các hệ thống toàn PC tiến về các hệ thống nhúng. Số lượng ứng dụng ngày càng tăng dẫn đến nhu cầu các công nghệ thiết kế hỗ trợ các hệ thống nhúng. Các công nghệ và công cụ hiện tại vẫn có những hạn chế quan trọng. Ví dụ, vẫn cần các ngôn ngữ đặc tả tốt hơn, các công cụ sinh mã từ ngôn ngữ đặc tả, các bộ kiểm chứng các điều kiện thời gian, hệ điều hành thời gian thực, các kĩ thuật thiết kế tiết kiệm năng lượng, và các kĩ thuật thiết kế dành cho các hệ thống có độ tin cậy cao.
Ngồi ra, các hệ thống nhúng phải đáp ứng nhiều yêu cầu phi chức năng như nhỏ gọn, ràng buộc thời gian thực, hiệu suất của nguồn và các yêu cầu về độ tin cậy. Rất nhiều mục tiêu phải được xem xét trong quá trình thiết kế. vì vậy, đáp ứng được các yêu cầu phi chức năng cũng đã là khó khăn.
Việc thực hiện bảo mật trên các hệ thống nhúng cũng gặp những khó khăn nhất định.
Bởi vì hệ thống nhúng là một hệ thống rất hạn chế về tài nguyên nên khi chúng ta thêm vào các chức năng bảo mật, hiệu năng của hệ thống có thể bị giảm, tài nguyên của hệ thống có thể bị chia sẻ và chi phí của hệ thống có thể tăng lên. Đơi lúc nó lại làm giảm độ tin cậy của hệ thống. Đã có rất nhiều các tiếp cận khác nhau về bảo mật các hệ thống nhúng. Trong [83] các tác giả trình bày và đánh giá cách thực hiện các thuật toán bảo mật trong các hệ thống nhúng dựa trên vi xử lý lõi mềm MicroBlaze. Tương tự, nhóm tác giả trong [84] trình bày một kiến trúc an toàn để quản lý bảo mật trong hệ thống nhúng dựa trên FPGA. Liên quan đến phần mềm, các nhóm tác giả trong [85], [86] đề xuất giải pháp bảo vệ an toàn khởi động hệ điều hành nhúng Linux trên FPGA. Để bảo vệ nền tảng phần cứng cấu hình lại được trong hệ thống nhúng, các tác giả trong [42], đã đề xuất một kiến trúc và một giao thức an toàn để cập nhật phần cứng của hệ thống.
1.4. Kết luận chƣơng
Xem xét công nghệ và ứng dụng của SRAM-based FPGA ở mục 1.2.2 và các lĩnh vực ứng dụng của hệ thống nhúng ở mục 1.3.2 cho thấy một sự tương đồng rất lớn. Thực tế cho thấy, các FPGA với các bộ vi xử lý nhúng và khả năng tái lập trình lại được sẽ cho phép xây dựng các hệ thống có hiệu suất cao. Chúng trở thành nền tảng phần cứng quan trọng, đáp ứng các mục tiêu về độ tin cậy và hiệu xuất mà một hệ thống nhúng yêu cầu.
Hơn nữa, SRAM-based FPGA có thể cung cấp một sự cân bằng giữa hiệu năng, tính linh hoạt và thời gian phát triển sản phẩm. Hệ thống nhúng thực hiện các chức năng chuyên biệt được tối ưu hóa, giảm được chi phí tài ngun và thời gian phát triển, dẫn đến giảm được giá thành. Vì vậy, các hệ thống nhúng dựa trên SRAM-based FPGA tạo thành nền tảng cơng nghệ quan trọng cho thời kì hậu PC. Từ đó việc xử lý thơng tin ngày càng chuyển dịch ra xa các hệ thống toàn PC và tiến về các hệ thống nhúng.
36 Tuy nhiên, cùng với việc tăng lên của các hệ thống nhúng dựa trên FPGA, nhu cầu về bảo mật cũng tăng lên. Trong đó, bảo mật thiết kế phần cứng đặc biệt quan trọng, bởi vì nó là nền tảng mà các ứng dụng thực thi trên đó, và nó cũng là tài sản trí tuệ của các nhà thiết kế phát triển. Bảo mật với việc thực thi các thuật tốn mã hóa đã chuẩn hóa như đã trình bày trong phần 1.1 đang được áp dụng rộng rãi. Độ an tồn của thuật tốn, khả năng thực hiện trong phần cứng hoặc phần mềm, linh hoạt trong kết hợp đáp ứng các mục tiêu bảo mật thiết kế đặt ra: tính bảo mật, tính xác thực và tính khả dụng của dữ liệu.
Qua phần lý thuyết tổng quan về bảo mật, FPGA và hệ thống nhúng, chúng ta nhận thức được rằng: trong thời đại công nghiệp số hiện nay, thực hiện bảo mật là hết sức quan trọng để bảo vệ hệ thống và bảo vệ tài sản trí tuệ của người chủ sở hữu.
37
CHƢƠNG 2
FRAMEWORK VÀ GIAO THỨC CẬP NHẬT AN TOÀN TỪ XA
Giới thiệu: Với sự phát triển mạnh mẽ hiện nay trong tính tốn cấu hình lại thời gian chạy
(run-time reconfigurable computing), các nền tảng nhúng cấu hình lại thời gian chạy đang trở nên ngày càng khả thi. Người dùng có thể tải về một bản cập nhật (bitstream từng phần) và cấu hình lại một phần của hệ thống qua Internet mà khơng ảnh hưởng đến các phần cịn lại như việc tải về và cài đặt phần mềm vậy. Tuy nhiên, việc tải về và cập nhật bitstream chứa đựng nhiều rủi ro do các tấn công giả mạo và phát lại. Chương này trình bày framework và giao thức mà luận án này đã đề xuất để đảm bảo tính an tồn và tính linh hoạt khi cập nhật bitstream từ xa của các hệ thống nhúng cấu hình lại được từng phần dựa trên FPGA. Framework của luận án xem xét giải quyết các vấn đề khác nhau về bảo mật bao gồm việc trao đổi, quản lý, mã hóa, xác thực và nén bitstream. Kết quả thực nghiệm và đánh giá được thực hiện trên board Xilinx ML605 Virtex-6 XC6VLX240T và Digilent Atlys FPGA Spartan-6 XC6SLX45 được trình bày trong Chương 4.
2.1 Xây dựng và mô tả cấu trúc của Framework
Để xây dựng framework và giao thức cho hệ thống nhúng cấu hình lại được từng phần, trước tiên chúng ta tìm hiểu chức năng, nhiệm vụ và mối quan hệ của các chủ thể khác nhau trong quá trình trao đổi, cập nhật và bảo vệ quyền sở hữu trí tuệ của các hệ thống hoặc các lõi IP.
Nhà tích hợp hệ thống (SysInt - System Integrator): Đây là nhà thiết kế hệ thống dựa
trên FPGA và cung cấp nó cho người d ng. SysInt có quyền truy cập vật lý vào sản phẩm và có thể phát hành một bản nâng cấp sản phẩm đến người d ng trong tương lai. Một thiết kế hệ thống điển hình bao gồm các thành phần t y biến và các lõi IP của các nhà cung cấp thứ 3 (IP Vendor). Lõi IP có thể được phân phối trong các định dạng khác nhau: HDL, netlists hoặc bitstream, t y thuộc vào mức độ tin tưởng và yêu cầu giữa SysInt và IPVend. SysInt mong muốn hệ thống của họ được an tồn, tránh tích hợp hoặc cập nhật các lõi IP độc hại. Trong thương mại, nhà tích hợp hệ thống cũng có thể là nhà cung cấp hệ thống và dịch vụ (Service provider).
Nhà cung cấp lõi IP (IPVend - IP Vendor): Đây là các công ty chuyên cung cấp các
38 ứng các đặc điểm kỹ thuật của hệ thống mà SysInt yêu cầu. IPVend thường không trực tiếp tham gia vào quá trình thiết kế hệ thống FPGA. Và do đó các IPVend mong muốn bảo vệ bí mật các thiết kế lõi IP của mình.
Cơ quan đáng tin cậy hay trung tâm xác thực (TAut-Trusted Authority) là cơ quan
được các bên tin tưởng ủy quyền cung cấp và xác thực khóa hoặc giấy chứng nhận bản quyền. TAut xác nhận q trình tạo khóa khi khởi tạo hệ thống và cấp chứng nhận kết quả của khóa. TAut được giả định là đáng tin cậy cho tất cả các bên và không tham gia vào quá trình phát triển hệ thống.
Người sử dụng hay người dùng (User): là khách hàng cuối c ng sử dụng hệ thống.
Đôi khi người sử dụng cũng là một kẻ tấn công. Người sử dụng yêu cầu hệ thống phải được an tồn, nhưng cũng có thể tìm cách để có được lợi ích cá nhân bằng việc cố gắng phá vỡ các biện pháp đối phó an ninh đã thực hiện trong hệ thống.
Kẻ tấn công (Attacker): là đối tượng tìm cách thâm nhập, trộm cắp hoặc phá hoại các
lõi IP hoặc hệ thống. Kẻ tấn cơng có thể là một cá nhân, một nhóm người hoặc một tổ chức có sự tài trợ của các công ty, của các quốc gia.
Cấu trúc của framework mà luận án đề xuất được xây dựng như trong Hình 2.1. Một số thành phần thuộc phía nhà cung cấp dịch vụ hoặc nhà thiết kế hệ thống SysInt, và những thành phần khác thuộc về phía người d ng cuối. Các thành phần này được trình bày và giải thích chi tiết hơn ở phần sau.