.1 Cấu trúc của Framework bảo mật

Một phần của tài liệu Bảo mật bitstream FPGA799 (Trang 55 - 59)

43

2.1.1. Các thành ph n phía nhà cung c p d ch v ầ ấ ị ụ

- Cơ sở dữ liệu hồ sơ người sử dụng(User Profile Database) lưu trữ thông tin về tất cả người dùng đã đăng ký bao gồm cả số định danh của FPGA, phiên bản của bitstream, kích thước phân vùng cấu hình lại và thuật toán mã hóa. Dựa trên hồ sơ người dùng, các nhà cung cấp dịch vụ có thể gửi thông báo cho người sử dụng bất cứ khi nào có bản cập nhật mới. Một số tham số trong cơ sở hồ sơ người dùng sẽ là các thông tin mức cao (siêu dữ liệu MetaData) được thêm vào cho mỗi phiên giao dịch bitstream. Siêu dữ liệu là dạng -

dữ liệu miêu tả về dữ liệu. Trong cơ sở dữ liệu, siêu dữ liệu là các dạng biểu diễn khác nhau của các đối tượng. Siêu dữ liệu trong hệ thống được mô tả trong phần này bao gồm các thông tin về phiên bản, kích thước của bitstream, số định danh của FPGA và tài nguyên được yêu cầu (ví dụ như số lượng của các tế bào logic, Block RAM, v.v.).

- Lưu trữ (Repository): Kho lưu trữ bitstream và các thành phần chức năng được sử dụng để cấu hình lại phần cứng trong lúc hoạt động có thể được cài đặt và thực hiện trên vi xử lý nhúng của hệ thống người dùng. Các bitstream được khuyến cáo là lưu trữ ở dạng nén để tiết kiệm băng thông và không gian lưu trữ. Bảng 2.1, được lấy từ công cụ thiết của ISE của Xilinx, cho thấy kích thước của bitstream toàn phần của các FPGA khác nhau.

Trong [ ], [ ] 87 88 đã chỉ ra rằng tùy thuộc vào các thuật toán nén và các thành phần được thiết kế trong FPGA, tỉ lệ nén trung bình có thể đạt được khoảng 50%.

Bảng 2.1 Kích thước bitstream c a các thi t b FPGA ủ ế ị

Thi t b FPGA ế Kích thước bitstream (Bits)

Spartan-3E XC3S1600E 5,970,480 Atlys Spartan-6 XC6SLX45 11,876,016 Virtex-5 XC5VLX50T 14,053,144 Virtex-6 XC6VLX240T 118,990,200 Artix-7 XC7A200T 65,330,912 Kintex-7 XC7K420T 149,880,032 Virtex-7 XC7VH580T 192,724,384

- Trình quản lý cập nhật của máy chủ(SuM - Server Update Manager): là trình

quản lý cập nhật, thuật toán mã hóa và phần mềm. Chức năng của nó bao gồm quản lý dữ liệu người dùng, kho bitstream và phần mềm, thông báo bản cập nhật mới cho người sử dụng, khởi động phiên giao dịch với phía người dùng. Tùy thuộc vào các giao thức bảo mật được hỗ trợ bởi hệ thống người dùng cuối, SuM có thể lựa chọn một giao thức thích hợp để giao tiếp với người dùng thông qua trình quản lý cập nhật của máy trạm. Sự linh hoạt trong lựa chọn giao thức cho phép các nhà cung cấp dịch vụ hỗ trợ một loạt các khách hàng với các khả năng khác nhau. Do đó framework của luận án này có thể sử dụng một giao thức với các thuật toán mã hóa tiêu chuẩn như trong [ ] 32 hay một giao thức với các

44

tham số đặc biệt như trong [ ]30 . SuM hỗ trợ hai chế độ cấu hình lại bitstream từ xa: chế độ

on-line và chế độ off line. Trong chế độ on line, cấu hình lại được thực hiện trực tiếp và - -

liên tục trong quá trình truyền nhận bitstream. Do đó đòi hỏi không gian bộ nhớ lưu trữ tạm thời ít. Trong chế độ off line, cấu hình lại chỉ bắt đầu khi bitstream đã được tải xong -

và được lưu trữ trong bộ nhớ của hệ thống người dùng cuối. Do đó ở chế độ off line đòi -

hỏi nhiều không gian bộ nhớ hơn.

Các bộ mã hóa, xác thực và nén: chịu trách nhiệm mã hóa, xác thực và nén bitstream. Tương tự như việc lựa chọn giao thức, tùy thuộc vào các thuật toán được hỗ trợ bởi hệ thống người dùng cuối, bộ mã hóa, xác thực và nén có thể chọn các thuật toán mật mã và nén thích hợp.

2.1.2. Các thành phần phía ngƣời dùng

Phía người dùng, các thành phần được vẽ trong đường chấm chấm là thành phần tùy chọn. Ví dụ, hệ thống có thể có hoặc không có một hệ điều hành (OS), có thể có hoặc không một bộ mã hóa bằng phần cứng. Trong trường hợp không có, một bộ giải mã được xây dựng bằng phần mềm là cần thiết. Các FPGA Virtex của Xilinx có bộ mã hóa được tích hợp sẵn: Virtex-II và Virtex-II Pro hỗ trợ bộ mã hóa Triple DES với khóa 56- -bit, trong khi Virtex-4 đến Virtex 7 hỗ trợ bộ mã hóa AES với khóa 256 bit. Tuy nhiên, các bộ mã - - hóa này không hỗ trợ cho việc sử dụng cấu hình lại một phần và do đó để thực hiện an toàn cập nhật cho hệ thống này, người sử dụng cần phải xây dựng bộ giải mã trong phần logic cấu hình hoặc trong phần mềm nhúng. Trong framework đã đề xuất, tính linh hoạt trong việc lựa chọn các thuật toán mã hóa luôn được đề cao. Ví dụ, khi việc cập nhật bitstream được thực hiện không thường xuyên thì sự an toàn bistream và việc sử dụng tối ưu các nguồn tài nguyên phần cứng là quan trọng hơn nhiều so với tổng số thời gian cập nhật. Do đó, trong một số trường hợp, luận án này đề nghị sử dụng bộ giải mã, xác thực và giải nén bằng phần mềm để tiết kiệm tài nguyên phần cứng. Hơn nữa, nếu một phần mềm cần thiết không có sẵn hệ thống người dùng cuối, nó có thể được tải về và cài đặt một cách dễ dàng,

không như trường hợp các thuật toán được thực hiện bằng phần cứng. Và đặc biệt là các thuật toán mã hóa có thể thay đổi theo thời gian và yêu cầu bảo mật như: Sử dụng một trong các thuật toán DES, 3DES, AES hay sử dụng AES với các độ dài khóa khác nhau: 128, 224, 256bit.

Trình quản lý cập nhật của máy trạm (CuM - Client Update Manager): chịu trách nhiệm quản lý việc tải xuống và cấu hình lại hệ thống. Nó chịu trách nhiệm giao tiếp với các nhà cung cấp dịch vụ và duy trì các thông tin về hồ sơ cá nhân của hệ thống người dùng cuối. Hồ sơ chứa thông tin về số định danh hệ thống/FPGA, phiên bản bitstream, thuật toán giải mã (DES, AES ...), thuật toán xác thực (SHA-1, SHA-2 ...), loại bộ vi xử lý

45

(lõi cứng, mềm core), thuật toán giải nén và tài nguyên sẵn có. Bảng 2.2 cho thấy một ví -

dụ về hồ sơ hệ thống của người dùng.

Bảng 2.2 Ví d v mụ ề ột h ồ sơ hệ thống của người dùng

Tên các thành ph n Giá tr

System/FPGA ID STB_123456

Bitstream version 1.0

Decryptor Hardware AES-256

Authenticator Software SHA-512

Microprocessor Soft-core MicroBlaze 100 MHz

Data flash 16 MB, used 10MB

FPGA device XC6SLX45

DRAM 128 MB

2.1.3. Truy n thông gi a h ề ữ ệ thống ngƣời dùng và nhà cung c p d ch v ấ ị ụ

Phần này mô tả các bước truyền thông khác nhau giữa hệ thống người dùng và nhà cung cấp dịch vụ.

1. Khi có bitstream mới, SuM sẽ kiểm tra cơ sở dữ liệu hồ sơ người dùng để tìm các hệ thống người dùng cần phải cập nhật bitstream. Sau đó nó sẽ gửi một thông báo cùng với các siêu dữ liệu của bitstream mới cho tất cả các CuM tương ứng.

2. CuM kiểm tra siêu dữ liệu bitstream và hồ sơ hệ thống để quyết định xem hệ thống là phù hợp để cập nhật hay không. Nếu cập nhật là cần thiết, nó sẽ thông báo cho người sử dụng thông qua giao diện người dùng về việc cập nhật mới. Nếu người dùng muốn cập nhật hệ thống với bitstream mới, họ sẽ phải chọn một chế độ cấu hình lại (chế độ on-line

hoặc off line). CuM có thể vô hiệu hóa tùy chọn chế độ off line nếu không có đủ không - -

gian để lưu trữ bitstream tải về.

3. CuM và SuM đàm phán các giao thức kết nối, các thuật toán mã hóa, xác thực và

nén.

4. SuM bắt đầu gửi bitstream nén đã mã hóa đến CuM tương ứng bằng cách sử dụng giao thức đã đàm phán.

5. Nếu ở chế độ cấu hình lại là on line, CuM sẽ nhận được từng khối dữ liệu, tiếp đó -

giải mã, giải nén và thực hiện cấu hình lại phần cứng. Nếu ở chế độ off line, CuM sẽ tải về -

toàn bộ bitstream và lưu trữ nó trong bộ nhớ. Sau đó nó sẽ bắt đầu giải mã, giải nén và cấu hình phần cứng.

46

6. Sau khi cấu hình lại đã được thực hiện thành công, CuM sẽ cập nhật hồ sơ cá nhân của hệ thống và gửi một xác nhận đến SuM để cập nhật hồ sơ người dùng trong cơ sở dữ liệu của nhà cung cấp dịch vụ.

2.2 Giao th c c p nhứ ậ ập

Giao thức cập nhật xác định một cuộc tương tác trao đổi giữa một trình quản lý cập

nhật máy chủ SuM của bên cung cấp dịch vụ, là thực thể phụ trách việc phân phối

bitstream mới tới các hệ thống nhúng dựa trên FPGA, và một trình quản lý cập nhật máy khách CuM của phía người sử dụng. Giao thức này là một nâng cấp của các giao thức trình

bày trong [ ], [ ]30 31 , được áp dụng cho framework như đã được đề xuất ở phần trên, và được thể hiện trong Hình 2.2 cùng với các thuật toán 1 và 2 như trình bày trong phần tiếp

theo.

Một phần của tài liệu Bảo mật bitstream FPGA799 (Trang 55 - 59)