Tải bản đầy đủ (.pdf) (6 trang)

Thực hiện hệ thống thực thi bảo mật Keystone Enclave trên lõi RISC-V

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (929.41 KB, 6 trang )

Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)

Thực hiện hệ thống thực thi bảo mật Keystone
Enclave trên lõi RISC-V
Hứa Nguyên Khang, Thái Hồng Hải, Mã Khải Minh, Nguyễn Thanh Lộc, Lê Thành Nghị, Lê Đức Hùng
Phịng thí nghiệm DESLAB, Khoa Điện tử - Viễn Thông,
Trường Đại học Khoa học Tự nhiên – Đại học Quốc gia TP.HCM
Email:
Abstract—Bài báo trình bày kết quả xây dựng và thực thi hệ
thống bảo mật dựa trên Root-of-Trust và Keystone Enclave. Hệ
thống tận dụng ưu điểm của kiến trúc RISC-V, trong đó có kiến
trúc bộ nhớ PMP (Physical Memory Protection), cho phép phân
quyền người dùng ở Supervisor Mode (S-mode), Machine Mode
(M-mode), User Mode (U-mode) sẽ được truy cập ở các không
gian bộ nhớ, đảm bảo tính bảo mật cho các phân quyền cụ thể.
Ngồi ra, bài báo trình bày quá trình xác thực Root-of-Trust ở
mức thấp trong q trình khởi động dùng thuật tốn SHA-3 để
băm dữ liệu và ED25519 để mã hóa và chứng thực. Sau khi khởi
động an toàn, hệ thống chuyển quyền qua hệ điều hành, các gói
tin được xác thực và giám sát bởi Security Monitor trên RISC-V.
Hệ thống được thực hiện trên bo mạch Si-Five chứa lõi RISC-V
và bo mạch xác thực quá trình Root of Trust để demo q trình
bảo mật dữ liệu. Hệ thống có thể ứng dụng trong bảo mật hệ
thống Internet-of-Things (IoTs), bảo mật quá trình truyền nhận
dữ liệu trong mạng từ các node, máy con đến máy chủ.

thành phần không tin cậy trên hệ điều hành [1]. Môi trường
thực thi đáng tin cậy (Trusted Execution Environment) ở Hình
1 được đề xuất như một giải pháp mới để giải quyết các vấn đề
trên. Nhiều nghiên cứu đã được triển khai, trong đó có sự đóng
góp của nhiều cơng ty, tập đồn lớn như Intel với Openclave,


ARM với ARM Trust Zone. Tuy nhiên, các công nghệ trên
vẫn chưa thực sự hoàn thiện, một vài nghiên cứu đã chỉ ra
nhiều lỗ hổng bảo mật của các giải pháp trên. Được phát triển
trong khoảng thời gian gần đây, Keystone Enclave là một giải
pháp hoàn toàn mới, kế thừa nhiều đặc điểm nổi bật và giải
quyết được nhiều vấn đề mà các giải pháp cũ đang mắc phải.
Ngoài việc cung cấp một mơi trường thực thi an tồn,
Keystone Enclave còn thực hiện nhiệm vụ cung cấp chứng
nhận xác thực cho tiến trình chạy trên hệ thống của nó [2].

Keywords- TEE, Root-of-trust, bảo mật, SHA-3, RISC-V,
Keystone, Enclave, Internet-of-Things.

I.

GIỚI THIỆU

Trong những năm gần đây, điện toán đám mây đã tạo ra
một cuộc cách mạng trong ngành cơng nghiệp máy tính, thay
đổi cơ bản cách thức sử dụng nguồn tài nguyên, cơ cấu vận
hành cũng như việc lưu trữ, phân phối và xử lí thơng tin. Đa số
chúng ta đều đã và đang sử dụng một hoặc nhiều các dịch vụ
ứng dụng cơng nghệ điện tốn đám mây trong đời sống hàng
ngày cũng như trong quản lý doanh nghiệp. Tuy nhiên, một số
vấn đề được đặt ra về đảm bảo an toàn thơng tin như: các gói
tin được người dùng gửi đi có thể bị dẫn đến một hệ thống
khơng đáng tin cậy được tin tặc bố trí sẵn, từ đó dẫn đến việc
thông tin nhận sai lệch và khả năng lộ thông tin cá nhân, một
vấn đề khác cũng được đặt ra, khi ta chạy nhiều chương trình
trên cùng một cháy chủ, một điều khơng thể tránh khỏi là máy

chủ có khả năng bị nhiễm các phần mềm độc hại hay một phần
mềm nào đó cố tình muốn đánh cắp dữ liệu và thông tin riêng
tư.
Các công nghệ bảo mật truyền thống cho thấy nhiều
khuyết điểm và khơng cịn phù hợp với điều kiện của hiện tại.
Trong các hệ thống cũ, các ứng dụng quan trọng thường chia
sẻ chung môi trường thực thi với các ứng dụng không đáng tin
cậy, do đó các thơng tin quan trọng có thể dễ dàng bị đánh
cắp. Nhiều cơng ty và tập đồn lớn muốn phát triển một mơi
trường thực thi an tồn để chạy các ứng dụng quan trọng của
họ và không quan tâm đến các mối đe dọa về bảo mật từ các

ISBN: 978-604-80-5076-4

Hình 1. Mơi trường thực thi đáng tin cậy TEE (Trusted Execution
Environment).

Dựa hoàn toàn trên kiến trúc mã nguồn mở của RISC-V
ISA [3, 4], Keystone hiện đang tận dụng rất tốt các tài nguyên
mà RISC-V cung cấp, dự án đang trong giai đoạn phát triển và
có nhiều tiềm năng trong tương lai. Ngồi ra, Keystone
Enclave cịn là một dự án mã nguồn mở, nhận được nhiều sự
đóng góp từ cộng đồng.
II.

HỆ THỐNG THỰC THI BẢO MẬT KEYSTONE

II.1. Keystone Enclave
Keystone Enclave là một dự án mã nguồn mở để xây dựng
một môi trường thực thi tin cậy TEE (Trusted Execution

Environment) dựa trên nền tảng RISC-V. Để khắc phục những
nhược điểm của các công nghệ bảo mật truyền thống,

75


Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
Keystone là một giải pháp hồn tồn mới, cung cấp một mơi
trường thực thi đáng tin cậy, an toàn và tách biệt với mơi
trường thực thi của hệ điều hành, các tiến trình chạy trên mơi
trường đó khơng cần quan tâm đến vấn đề bảo mật và đánh
cắp thơng tin, đồng thời nó cũng cung cấp một chứng nhận
không thể làm giả được, chứng nhận này được gửi kèm theo
khi ứng dụng muốn truyền đạt một thơng điệp nào đó. Dựa
trên chứng nhận được cung cấp, ta có thể xác minh được
nguồn gốc của thiết bị, kèm theo đó là một số thơng tin được
cơng khai của ứng dụng.

V, tiến trình Enclave bắt đầu được thực thi. Khi hệ thống thốt
khỏi Enclave, nó thiết lập lại các quyền PMP và cơ lập tiến
trình bên trong.
II.2. Root-of-Trust
Root of Trust sẽ chứa một đoạn mã, đoạn mã này được
đưa vào thiết bị khi sản xuất, bao gồm hai phần, một phần
được giữ bên trong Root of Trust và sẽ được Root of Trust bảo
vệ khỏi các cuộc tấn công gọi là Secret Key (SK), phần cịn lại
được Root of Trust gửi ra bên ngồi được gọi là Public Key
(PK). Root of Trust là thành phần quan trọng nhất, nó phải
được bảo mật và miễn nhiễm với các cuộc tấn công của các
phần mềm độc hại. Để đảm bảo tính an tồn, Root of Trust

hoạt động độc lập, tách biệt với bộ vi xử lí trên hệ thống. Do
phần cứng của RISC-V có hỗ trợ Root of Trust nên Root of
Trust có thể được xây dựng độc lập và được kết nối với lõi
CPU RISC-V và được đặt trong một mơ-đun khép kín. Các
thuật tốn được sử dụng để mã hóa key trong Root of Trust
gồm: SHA-3 (Secured Hash Algorithm-3) và ED25519.
II.3. Các thuật toán mật mã hóa trong Root of Trust
II.3.1. Thuật tốn hàm băm SHA-3
SHA-3 dựa trên thuật toán Keccak và cấu trúc bọt biển,
quá trình băm dữ liệu được chia làm 2 giai đoạn: absorbing và
squeezing [5]. Trong đó absorbing là q trình "thấm hút" dữ
liệu vào và squeezing là quá trình "vắt" dữ liệu. So với SHA-2,
SHA-3 hiệu quả hơn 5 lần về năng lượng, 3 lần về không gian
và hiệu quả vượt trội hơn với các GPU và ASIC. Thuật toán
SHA-3 được trình bày trong Hình 3.

Hình 2. Các thành phần cơ bản của hệ thống Keystone.

Các thành phần cơ bản của Keystone Enclave được trình
bày trong Hình 2 gồm có.
• Root of Trust: là nền tảng của tất cả các hoạt động
bảo mật trên hệ thống. Nó chứa khóa được sử dụng
cho các chức năng mã hóa và giải mã. Root of Trust
có thể là một mơ-đun độc lập hoặc được triển khai
như một hệ thống SoC (System on Chip).
• Physical Memory Protection (PMP): là mô-đun phần
cứng, được triển khai ở M-mode. Nhằm mục đích để
hạn chế các truy cập bộ nhớ trên các chế độ đặc
quyền (M-mode, S-mode và U-mode).
• Lõi CPU RISC-V: được hỗ trợ đầy đủ các tầng đặc

quyền (bao gồm M-mode, S-mode và U-mode).
• Security Monitor (SM): là chương trình bảo mật được
triển khai trên M-mode. Nó cung cấp giao diện để
quản lý các tiến trình bên trong các Enclave. Hầu hết
các tác vụ bảo mật điều được thực hiện thơng qua
Security Monitor. Nó cũng góp phần bảo vệ các tiến
trình Enclave khỏi các tiến trình khơng đáng tin cậy
khác chạy trên hệ điều hành.
• Enclave: giúp cách li giữa các tiến trình khơng tin cậy
chạy trên hệ điều hành và giữa các Enclave với nhau.
Mỗi Enclave được cấp một vùng nhớ riêng trên bộ
nhớ và chỉ có thể được truy cập bởi chính nó hoặc
Security Monitor. Mỗi Enclave đều tồn tại một Eapp
(User-level Application) và RT (Supervisor-runtime).
Mỗi Enclave được cấp phát một vùng nhớ vật lí liên tục
được gọi là Enclave Private Memory (EPM). Khi nhận được
một yêu cầu khởi tạo Enclave, SM lần lượt nạp các vùng nhớ
Page table (PT), Runtime (RT), và Eapp vào EPM. Thơng qua
PMP nó tiến hành cách li vùng nhớ và bảo vệ EPM khỏi sự
dịm ngó của các tiến trình khác. Sau khi q trình khởi tạo
được hồn tất, SM tiến hành tính tốn và xác minh trạng thái
ban đầu của Enclave. Khi nhận được yêu cầu thực thi, SM giải
phóng PMP và giao quyền truy cập vào Enclave cho lõi RISC-

ISBN: 978-604-80-5076-4

Hình 3. Quy trình thuật tốn SHA-3.

II.3.2. Thuật toán ED25519
ED25519 là một thành viên trong họ thuật toán EdDSA

Edwards-curve Digital Signature Algorithm. EdDSA là thuật
toán tạo chữ kí điện tử sử dụng đường cong elliptic, nó được
thiết kế để chạy nhanh hơn các thuật toán chữ kí điện tử khác
mà vẫn giữ nguyên tính bảo mật. Các ưu điểm vượt trội mà
ED25519 mang lại:
• Q trình xác minh chữ kí điện tử diễn ra nhanh: Phần
mềm chỉ mất từ 273364 chu kì để xác minh trên các dịng
CPU Nehalem/West 4.0.3 được triển khai rộng rãi của
Intel.
• Xác minh một loạt các chữ kí điện tử cịn diễn ra nhanh
hơn: Phần mềm thực hiện một loạt 64 mã riêng biệt với
64 chữ kí của 64 tin nhắn dưới 64 khóa chung, chỉ trong
8.55 triệu chu kỳ, tức khoảng 134000 chu kỳ mỗi chữ kí.
• Q trình kí cũng diễn ra nhanh: Trên cùng hệ thống,
phần mềm chỉ mất 87548 chu kỳ cho mỗi tin nhắn.

76


Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2020)
• Q trình sinh khóa diễn ra nhanh: Q trình tạo khóa
gần như nhanh hơn q trình kí, chỉ mất khoảng 6000
chu kỳ.
• Mức độ bảo mật cao.
• Chữ kí có kích thước nhỏ chỉ 64-byte.
• Khóa có kích thước nhỏ: Khóa cơng khai chỉ có kích
thước 32-byte và khóa bảo mật có kích thước 64-byte.
II.4. Q trình hình thành chứng nhận cho Root of Trust
Để bảo mật và an toàn, hệ thống cung cấp một chứng nhận
đảm bảo và sẽ được sử dụng trong suốt q trình hoạt động.

Lệnh chỉ có thể thực hiện được một lần và sẽ bị khóa lại ngay
khi hồn tất. Khóa sẽ được mở lại khi hệ thống bị khởi động
lại. Trong quá trình khởi động, Root of Trust sẽ được gọi bởi
Secured Boot để tạo ra chứng nhận. Quá trình tạo chứng nhận
trong Root of Trust được diễn ra như sau:
Secured Boot gửi dữ liệu cần tạo chứng nhận đến Root of
Trust, cũng giống như việc tạo chữ kí điện tử, Root of
Trust sử dụng thuật toán SHA-3, nhằm sinh mã Hash từ dữ
liệu trên.
HASH Sha3(data ) (1)

điều hành được nạp vào, và các phần mềm được bảo mật.
Trong hệ thống của Keystone, M-mode được sử dụng để
chạy các Secured Boot Loader và Security Monitor.
Quá trình khởi động của một lõi RISC-V được diễn ra đầu
tiên ở Machine-mode, bao gồm các quá trình sau (như được
trình bày trong Hình 4):
• Zeroth Stage Bootloader (ZSBL).
• First Stage Bootloader (FSBL).
• Berkeley Bootloader (BBL).
• Hệ điều hành (Linux).

Tiếp theo đó, Root of Trust tiến hành nối chuỗi giữa mã
Hash được sinh ra bởi thuật toán SHA-3 và Secret Key
được lưu bên trong Root of Trust. Chuỗi này sẽ được hash
thêm một lần nữa.
S Sha3( H || SK D ) (2)
Dữ liệu sinh ra ở trên là đầu vào của thuật tốn ED25519
cho q trình sinh khóa. Khóa được tạo ra sẽ lưu trữ bên
trong Root of Trust và sẽ được sử dụng bởi Security

Monitor.
PK SM , SK SM Ed 25519 KEY ( S ) (3)
Mã Hash được sinh ra lần đầu tiên được nối Public Key
(được cung cấp bởi nhà sản xuất). Dữ liệu này là đầu vào
cho thuật tốn ED25519, nhằm tạo chữ kí điện tử. Q
trình tạo chứng nhận hoàn tất.
Signature Ed 25519SIGN ( HASH || PK D ) (4)

Hình 4. Quá trình khởi động hệ thống.

Từ quá trình (1), (2), (3), (4) chứng nhận mới được hình
thành bao gồm: HASH, PKD, SKSM, Signature.
III.

SECURED BOOT LOADER TRONG RISC-V

Hệ thống chuẩn của RISC-V được sử dụng trong mô hình
của Keystone Enclave có ba chế độ đặc quyền phân cấp, trong
đó bao gồm:
• User-mode (U-mode): trong hệ thống, U-mode có chế độ
đặc quyền thấp nhất, U-mode được sử dụng cho mơi
trường thực thi các chương trình của người dùng, khơng có
nhiều truy cập và can thiệp vào phần cứng thiết bị.
• Supervisor-mode (S-mode): có đặc quyền cao hơn so với
U-mode, thường được sử dụng để chạy hệ điều hành như
Linux.
• Machine-mode (M-mode): là tầng thấp nhất trong hệ thống
và cũng có đặc quyền cao nhất, ở M-mode mọi truy cập và
thiết lập phần cứng đều được cho phép. M-mode thường
được sử dụng để chạy các thiết lập hệ thống trước khi hệ


ISBN: 978-604-80-5076-4

Hình 5. Quá trình thực thi FSBL.

77


Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2020)
Theo Hình 4, ZSBL được chứa bên trong bộ nhớ ROM, và
chịu trách nhiệm cho việc nạp FSBL vào vùng nhớ. Trong
cách thành phần chính của Keystone bao gồm Root of Trust,
Security Monitor (SM) và Enclave, thì Security Monitor là
thành phần quan trọng nhất, quản lý quá trình thực thi bảo mật
trên hệ thống. Do đó, để đảm bảo SM được an tồn và hồn
tồn đáng tin cậy, ta cần chứng thực nó trước khi cho phép nó
được khởi động. Q trình chứng thực được diễn ra sau khi
FSBL hồn tất q trình thiết lập hệ thống của nó. Security
Monitor và BBL sẽ được nạp lên vùng nhớ DRAM có địa chỉ
bắt đầu tại 0x80000000. Trong đó, vùng nhớ có địa chỉ
0x80000000 – 0x80200000 được sử dụng để lưu trữ Security
Monitor, chứng nhận sẽ được tạo thơng qua Root of Trust đã
trình bày ở trên.
Chứng thực này được lưu trữ bên trong Root of Trust. Để
tránh việc truy cập nhiều lần vào Root of Trust để lấy chứng
nhận sẽ gây giảm hiệu năng của hệ thống, thông tin chứng
thực sẽ được FSBL lưu trữ bên trong vùng nhớ của Security
Monitor, và được truy cập thơng qua Security Monitor. Khi
q trình FSBL hồn tất, nó nhảy đến địa chỉ 0x80000000 để
khởi chạy q trình Berkeley Boot Loader (BBL).

Berkeley Boot Loader (BBL) là giai đoạn cuối cùng trước
khi hệ điều hành được khởi động. BBL sẽ được nạp lên vùng
nhớ cùng với Security Monitor.
Security Monitor (SM) là thành phần cung cấp các cơ chế
bảo mật được sử dụng bởi Keystone, đồng thời nó cũng thực
hiện một số tính năng như:
• Cách li Enclave với các vùng nhớ không tin cậy bên trong
hệ điều hành và giữa các Enclave với nhau.
• Cung cấp chứng nhận cho các tiến trình Enclave.
• Quản lý tiến trình Enclave.
• Đồng bộ các PMP.
• Chống các cuộc tấn cơng kênh bên (Side-Channel attack).
Security Monitor bắt buộc phải được xác thực thông qua
Root of Trust, quá trình này được diễn ra bên trong Secured
Boot Loader được trình bày ở trong phần III. Một cặp Secret
Key (SKSM) và Public Key (PKSM) được sinh ra sau quá trình
chứng thực của Security Monitor. Các key này sẽ được sử
dụng trong quá trình vận hành của Security Monitor để tạo chữ
kí điện tử.
Để hỗ trợ cho việc xử lý bảo mật, trên các hệ thống của
RISC-V, PMP (Physical Memory Protection) được đề cập đến
trong kiến trúc đặc quyền của RISC-V ISA, được mô tả như
một kiến trúc nhằm giới hạn truy cập vào các địa chỉ vật lí của
các phần mềm chạy trên một lõi RISC-V. PMP là một thành
phần của M-mode, do đó nó chỉ có thể được truy cập bởi các
ứng dụng chạy trên M-mode. Mỗi khối PMP có thể bảo vệ một
vùng nhớ nhất định bên trong bộ nhớ, mỗi khối PMP sẽ bao
gồm 2 thanh ghi trong đó pmpcfg được sử dụng để thiết lập
trạng thái hoạt động của PMP và pmpaddr được sử dụng để


ISBN: 978-604-80-5076-4

đặt địa chỉ cần được bảo vệ. Minh họa khối PMP được trình
bày trong Hình 6.
Mỗi PMP được sử dụng để bảo vệ một Enclave trong hệ
thống của Keystone. Mỗi PMP được sử dụng để bảo vệ một
vùng nhớ cụ thể, các người dùng được cấp quyền cụ thể mới
được truy cập và thực thi trong vùng nhớ đã được cấp phép,
nếu không sẽ bị giới hạn quyền truy cập và thực thi. Ví dụ,
thanh ghi pmpcfg được thiết lập trạng thái rwx=111 cho phép
truy cập vào vùng nhớ của Security Monitor, cịn nếu rwx=000
thì sẽ giới hạn quyền truy cập và thực thi. Nhờ đó các tiến
trình chạy trên Enclave được bảo vệ và cách li với hệ thống.
Vì vậy, Enclave cho phép các tiến trình chạy trên nó được đảm
bảo an tồn khỏi các cuộc tấn công hoặc đánh cắp dữ liệu từ
các thành phần khơng đáng tin cậy trong hệ thống.

Hình 6. Các khối PMP được sử dụng trong SM.

Một Enclave bao gồm ba thành phần chính như được trình
bày trong Hình 7:
• Eapp: là ứng dụng U-mode được thực thi bên trong
Enclave.
• RT (Runtime): là chương trình được thực thi ở S-mode,
cung cấp các tính năng như các lệnh system call, xử lí có ngoại
lệ, và quản lý vùng nhớ ảo.
• Host: là thành phần chạy trên hệ điều hành, nó cũng góp
phần vào q trình khởi tạo và quản lý Enclave.

Hình 7. Các thành phần của một Enclave.


Quá trình khởi tạo Enclave được trình bày ở Hình 8. Sau
khi quá trình khởi tạo Enclave hoàn tất, vùng nhớ của Enclave
được bảo mật trên trong PMP, ngay trước khi Enclave được
khởi động lần đầu tiên, nó cần phải được tạo chứng nhận,
tương tự như Security Monitor. Quá trình chứng thực Enclace
được trình bày trong Hình 9, giúp có thể xác minh Enclave

78


Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
đang chạy trên hệ thống có cịn an tồn hay khơng, hay đã
được sửa đổi.
Khi có lệnh gọi từ hệ thống yêu cầu thực thi Enclave, hệ
thống tiến hành vào Enclave, giải phóng các quyền cho PMP
và cho phép lõi RISC-V có thể thực thi chương trình Eapp bên
trong Enclave. Khi quá trình khởi chạy bị dừng, nó lưu lại
trạng thái đang hoạt động của Enclave vào bộ nhớ EPM và
thoát khỏi Enclave. Sau khi thốt khỏi Enclave nó thiết lập lại
các quyền như ban đầu, nhằm bảo vệ Enclave khỏi các tiến
trình khác. Quá trình chứng thực Enclace được trình bày trong
Hình 10.

IV.

KẾT QUẢ

Hệ thống thực thi bảo mật được thực hiện trên bo mạch
HiFive Unleashed của hãng SiFive. Trên bo mạch này chứa lõi

RISC-V Freedom U540 64-bit, đa lõi, 8GB DDR4 RAM,
32MB QSPI Flash và các giao tiếp IO. Hệ thống được kết nối
với bo mạch Raspberry Pi 3 chứa thuật tốn SHA-3 và
ED25519 để tạo mã trong q trình Root of Trust.
Ứng dụng hệ thống thực thi bảo mật được giới thiệu trong
bài báo này là chữ ký điện tử. Chữ kí điện tử hiện là phương
pháp xác minh rộng rãi nhất, trong đó, người gửi và người
nhận sử dụng một cặp Public Key (PK) và Secret Key (SK)
cho quá trình xác thực. Tuy nhiên, nó cịn tìm ẩn nhiều nguy
cơ như việc để lộ Secret Key, và các cuộc tấn cơng malware.

Hình 8. Q trình khởi tạo Enclave.

Hình 11. Quá trình thực thi tạo chứng thực.

Để khắc phục các nhược điểm của các giải pháp truyền
thống, và giúp quá trình gửi nhận an tồn, q trình gửi và
nhận các gói tin ở Keystone Enclave được thực hiện như sau:
• Bước 1: Tạo mã chứng nhận cho gói tin.
• Bước 2: Mở các liên kết với máy chủ.
• Bước 3: Tạo liên kết an tồn với máy chủ thơng qua các
kết nối SSL.
• Bước 4: Gửi gói tin kèm chứng nhận.
Kết quả q trình gửi nhận gói tin bảo mật trên bo mạch
HiFive Unleashed được thể hiện ở Hình 12 và Hình 13.

Hình 9. Quá trình xác thực Enclave.

Hình 10. Quá trình thực thi Enclave.


ISBN: 978-604-80-5076-4

Hình 12. Quá trình truyền nhận an tồn (phía máy chủ).

79


Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
Bảng 2. Kết quả độ dài chuỗi mã hash với SHA-3
Độ dài
chuỗi
256
512
1024
2048
Hình 13. Q trình truyền nhận an tồn (phía máy khách).

4096

Thuật tốn SHA-3 được thực hiện trên một bo mạch
Raspberry Pi 3 bên ngoài để tạo mã độc lập với Keystone
trong quá trình Root of Trust nhằm tăng tính bảo mật của hệ
thống. Kết quả thực hiện của SHA-3 được thực hiện trên vi
điều khiển STM32F103 và bo mạch nhúng Rasberry Pi 3 để
khảo sát tốc độ thực hiện và khả năng ứng dụng SHA-3 trên
các ứng dụng truyền nhận dữ liệu hoặc Internet-of-Things.

8192
16384
32768


Bảng 1. Bảng thực hiện và so sánh kết quả SHA-3 trên các nền
tảng khác nhau
Độ dài chuỗi
(ký tự)
256
512
1024
2048
4096
8192
16384
32768
65536
131072

STM32F103
(ms)
2040
2101
2331
3229
6772
32048
121764
480249
1913410
7644528

65536


Rasbperry Pi 3
(ms)
0,751 10-3
1,203 10-3
2,619 10-3
6,859 10-3
21,372 10-3
72,312 10-3
260,693 10-3
1,002
3,918
15,465

131072

f0eecf175aaf9110a767ac2f5b3bddb3b516ab7d5e5b
f21825043849c8314eab25545da9e4065aa4610fb8d
0614bf02440462b9a1a0b4ce3deac31504bca425a
1b444682af1c4e1ec0d9e0668183777febac7c61518
e20e733b188a99db44d27559453902134277944f1a
89a650163fb0b5049381008a38d31b68caff38feb51
a8857013f692a1b5556d1d2453f5fe41b17821ceafbe
8b59f632d455c4c10224165ea7bf5dd66a8eee3f7c4d
fb554ff57b87530ce2ed549363e5e2c6eb3acd48
6a32d088385abc8e34f8a4af8855a5632dbbb0527f4
bbe15fa91006a157d2e2fe8ecf66f915e20ea6c0c8f43
da676a6756044f1ab5cee1d73a1b22657f199940
e8e6c9330660021b82c3964b74fb04ff0378bc6f3ae7
0030d788d17eef1fc16a652b77a8750833279679b4f

a61ff2d80404f129688e5362b66fae47035fdf505
e68b450a2ce9585e8aa61bb4bfeeb990952b2c00a6b
4f9197e296d5cc8dabc802dc30629396ba45dc84568
83b991db491ed0ad31beb632d395c7997751983f60
e1301b4fd8ae09fa1c0b48a3759c65bdc8a8f7aca884
a5e4c8e94b53c795b8a6e093dbfe4eab5e4062e081f9
56b3902c269d8490c39215c0d588310fbd0c5edc
a4cbc80376cfa97f23dd73e67c99e5e4d3638d08e43
22e477dd17e4ff9903e7935290a894726e713d9031f
cdeebf33e97afa34a26b04bf6d2e751dbd05774b57
efe8adf89ba592ce920fc20b40c55cdfa0c47e50224d
4afccf53a4f19b4c3aff86d18e22be8e75c8a77caa1a9
e6c08009dcb86f251b7c41fd721cc8a3329aa13
f90afcaaf6fd74de942ab297c0a723359fa7710bd617
b790ae6e46b2bfbab3dc81b51c7bb416e34437cb6a7
66429ff6dbc3987d4b654255a82a9c1e90e34760c

V.

KẾT LUẬN

Nghiên cứu đã hoàn thành việc xây dựng và thực hiện hệ
thống thực thi bảo mật Keystone Enclave, sau đó demo thử
nghiệm trên bo mạch HiFive Unleashed chứa lõi RISC-V. Hệ
thống được kết nối với bo mạch ngoài để thực thi quá trình
bảo mật với Root of Trust. Tuy nhiên, hệ thống còn một số
hạn chế như phần Root of Trust chưa hồn chỉnh, các thuật
tốn SHA-3 và ED25519 có tốc độ tính tốn cịn khá chậm,
làm cho q trình khởi động hệ thống diễn ra khá lâu. Mục
tiêu tiếp theo của nghiên cứu là phát triển Root of Trust và hệ

thống thực thi bảo mật Keystone Enclave trên FPGA.

Kết quả thực hiện ở Bảng 1 cho thấy thời gian chuyển đổi
của thuật tốn là khác nhau đối với các thơng tin có độ dài ký
tự khác nhau, độ dài chuỗi đầu vào càng lớn thì thời gian xử lý
càng lâu. Đối với STM32F103, thời gian là 2040ms để xử lý
một chuỗi ký tự có độ dài là 256 và tăng lên đến con số
7644528ms để hoàn thành một mã hash cho một chuỗi dài
131072 ký tự. Raspberry Pi 3 cũng cho ra kết quả tăng độ dài
chuỗi ký tự đầu vào như trên. Với độ dài chuỗi là 256 ký tự,
thời gian để xử lý thuật toán là 0,751 s; và thời gian xử lý ở
trường hợp chuỗi dài 131072 ký tự là 15,465ms. Kết quả cho
thấy việc thực hiện thuật toán mật mã trên bo mạch Raspberry
Pi 3 cho tốc độ nhanh hơn nhiều so với vi điều khiển
STM32F103 tuy có kích thước nhỏ gọn, giá thành rẻ. Vì vậy,
việc lựa chọn thực hiện các thuật toán mật mã hóa trên bo
mạch Raspberry Pi 3 nhằm đạt được hiệu suất cao hơn.
Các mã hash đã được kiểm tra và đúng tính chất của hàm
băm, độ dài mã hash đều là 128 ký tự mỗi mã, nội dung mỗi
mã là khác nhau đã được thống kê trong Bảng 2 ở dưới.

ISBN: 978-604-80-5076-4

Mã hash

TÀI LIỆU THAM KHẢO
[1]
[2]

[3]


[4]

[5]

80

D. J. Bernstein, N. Duif, T. Lange, P. Schwabe and B.-Y. Yang, "Highspeed high-security signatures," Springer Publisher, 2012.
D. Lee, K. Asanovic, D. Kohlbrenner, D. Song and S. Shinde,
"Keystone: An Open Framework for Architecting Trusted Execution
Environments," 2019, arXiv:1907.10119.
A. Waterman, K. Asanovic, S. Inc, 2. Division, E. Department and B.
University of California, "The RISC-V Instruction Set Manual, Volume
I: User-Level ISA," 2017.
A. Waterman, K. Asanovic, S. Inc, 2. Division, E. Department and B.
University of California, "The RISC-V Instruction Set Manual, Volume
II: Privileged Architecture," 2019.
S. O. Commerce, "SHA-3 Standard: Permutation-Based Hash and
Extendable-Output Functions (FIPS PUB 202)," 2015.



×