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

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  
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ể.  
Ngoà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 quá trình khởi động dùng thuật toá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 quá 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 đoà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 toà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 toá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 đoàn lớn muốn phát triển một môi  
trường thực thi an toà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  
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. Ngoà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,  
ISBN: 978-604-80-5076-4  
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 hoàn toàn mới, cung cấp một môi  
V, tiến trình Enclave bắt đầu được thực thi. Khi hệ thống thoá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.  
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.  
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 ngoà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 toà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 toá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 toá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à quá 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.  
Hình 3. Quy trình thuật toá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:  
•
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).  
• Quá 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í.  
• Quá 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.  
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 quá trình khởi tạo  
được hoàn tất, SM tiến hành tính toá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  
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)  
• Quá trình sinh khóa diễn ra nhanh: Quá trình tạo khóa  
gần như nhanh hơn quá 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.  
đ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):  
• 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. Quá 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 quá 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 hoà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:  
• Zeroth Stage Bootloader (ZSBL).  
• First Stage Bootloader (FSBL).  
• Berkeley Bootloader (BBL).  
• Hệ điều hành (Linux).  
ꢀ
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)  
ꢀ
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.  
(2)  
S ꢁ Sha3(H || SKD )  
ꢀ
ꢀ
Dữ liệu sinh ra ở trên là đầu vào của thuật toán ED25519  
cho quá 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.  
(3)  
PKSM , SKSM ꢁ Ed25519KEY (S)  
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 toán ED25519, nhằm tạo chữ kí điện tử. Quá  
trình tạo chứng nhận hoàn tất.  
Hình 4. Quá trình khởi động hệ thống.  
(4)  
Signature ꢁ Ed25519SIGN (HASH || PKD )  
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ệ  
•
•
Hình 5. Quá trình thực thi FSBL.  
ISBN: 978-604-80-5076-4  
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)  
đặt địa chỉ cần được bảo vệ. Minh họa khối PMP được trình  
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 toàn và hoàn  
toàn đáng tin cậy, ta cần chứng thực nó trước khi cho phép nó  
được khởi động. Quá trình chứng thực được diễn ra sau khi  
FSBL hoàn tất quá 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.  
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 toà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.  
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  
quá trình FSBL hoàn tất, nó nhảy đến địa chỉ 0x80000000 để  
khởi chạy quá 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ư:  
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 quá trình khởi tạo và quản lý Enclave.  
•
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 để  
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  
ISBN: 978-604-80-5076-4  
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 toà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ệ  
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 toán SHA-3 và  
ED25519 để tạo mã trong quá 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.  
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 thoá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.  
Hình 8. Quá 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 toàn, quá 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 toàn với máy chủ thông qua các  
kết nối SSL.  
Hình 9. Quá trình xác thực Enclave.  
•
Bước 4: Gửi gói tin kèm chứng nhận.  
Kết quả quá 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 10. Quá trình thực thi Enclave.  
Hình 12. Quá trình truyền nhận an toàn (phía máy chủ).  
ISBN: 978-604-80-5076-4  
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  
Mã hash  
chuỗi  
f0eecf175aaf9110a767ac2f5b3bddb3b516ab7d5e5b  
256  
512  
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  
1024  
2048  
Hình 13. Quá trình truyền nhận an toàn (phía máy khách).  
4096  
Thuật toá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  
65536  
131072  
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  
STM32F103  
Rasbperry Pi 3  
(ms)  
2040  
2101  
2331  
3229  
6772  
32048  
121764  
480249  
1913410  
7644528  
(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  
512  
1024  
2048  
4096  
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 hoàn chỉnh, các thuật  
toán SHA-3 và ED25519 có tốc độ tính toán còn khá chậm,  
làm cho quá 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.  
8192  
16384  
32768  
65536  
131072  
3,918  
15,465  
Kết quả thực hiện ở Bảng 1 cho thấy thời gian chuyển đổi  
của thuật toá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.  
TÀI LIỆU THAM KHẢO  
[1] D. J. Bernstein, N. Duif, T. Lange, P. Schwabe and B.-Y. Yang, "High-  
speed high-security signatures," Springer Publisher, 2012.  
[2] D. Lee, K. Asanovic, D. Kohlbrenner, D. Song and S. Shinde,  
"Keystone: An Open Framework for Architecting Trusted Execution  
Environments," 2019, arXiv:1907.10119.  
[3] 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.  
[4] 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.  
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.  
[5] S. O. Commerce, "SHA-3 Standard: Permutation-Based Hash and  
Extendable-Output Functions (FIPS PUB 202)," 2015.  
ISBN: 978-604-80-5076-4  
80  
pdf 6 trang baolam 84320 Free
Bạn đang xem tài liệu "Thực hiện hệ thống thực thi bảo mật Keystone Enclave trên lõi RISC-V", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfthuc_hien_he_thong_thuc_thi_bao_mat_keystone_enclave_tren_lo.pdf