Xem mẫu

  1. 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: ldhung@hcmus.edu.vn Abstract—Bài báo trình bày kết quả xây dựng và thực thi hệ thành phần không tin cậy trên hệ điều hành [1]. Môi trường thống bảo mật dựa trên Root-of-Trust và Keystone Enclave. Hệ thực thi đáng tin cậy (Trusted Execution Environment) ở Hình thống tận dụng ưu điểm của kiến trúc RISC-V, trong đó có kiến 1 được đề xuất như một giải pháp mới để giải quyết các vấn đề trúc bộ nhớ PMP (Physical Memory Protection), cho phép phân trên. Nhiều nghiên cứu đã được triển khai, trong đó có sự đóng 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 góp của nhiều công ty, tập đoàn lớn như Intel với Openclave, gian bộ nhớ, đảm bảo tính bảo mật cho các phân quyền cụ thể. ARM với ARM Trust Zone. Tuy nhiên, các công nghệ trên Ngoài ra, bài báo trình bày quá trình xác thực Root-of-Trust ở vẫn chưa thực sự hoàn thiện, một vài nghiên cứu đã chỉ ra mức thấp trong quá trình khởi động dùng thuật toán SHA-3 để nhiều lỗ hổng bảo mật của các giải pháp trên. Được phát triển băm dữ liệu và ED25519 để mã hóa và chứng thực. Sau khi khởi trong khoảng thời gian gần đây, Keystone Enclave là một giải động an toàn, hệ thống chuyển quyền qua hệ điều hành, các gói pháp hoàn toàn mới, kế thừa nhiều đặc điểm nổi bật và giải tin được xác thực và giám sát bởi Security Monitor trên RISC-V. quyết được nhiều vấn đề mà các giải pháp cũ đang mắc phải. Hệ thống được thực hiện trên bo mạch Si-Five chứa lõi RISC-V Ngoài việc cung cấp một môi trường thực thi an toàn, và bo mạch xác thực quá trình Root of Trust để demo quá trình Keystone Enclave còn thực hiện nhiệm vụ cung cấp chứng 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 nhận xác thực cho tiến trình chạy trên hệ thống của nó [2]. dữ liệu trong mạng từ các node, máy con đến máy chủ. 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 Hình 1. Môi trường thực thi đáng tin cậy TEE (Trusted Execution thông tin nhận sai lệch và khả năng lộ thông tin cá nhân, một Environment). vấn đề khác cũng được đặt ra, khi ta chạy nhiều chương trình Dựa hoàn toàn trên kiến trúc mã nguồn mở của RISC-V trên cùng một cháy chủ, một điều không thể tránh khỏi là máy ISA [3, 4], Keystone hiện đang tận dụng rất tốt các tài nguyên chủ có khả năng bị nhiễm các phần mềm độc hại hay một phần mà RISC-V cung cấp, dự án đang trong giai đoạn phát triển và mềm nào đó cố tình muốn đánh cắp dữ liệu và thông tin riêng có nhiều tiềm năng trong tương lai. Ngoài ra, Keystone tư. Enclave còn là một dự án mã nguồn mở, nhận được nhiều sự Các công nghệ bảo mật truyền thống cho thấy nhiều đóng góp từ cộng đồng. 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 II. HỆ THỐNG THỰC THI BẢO MẬT KEYSTONE sẻ chung môi trường thực thi với các ứng dụng không đáng tin II.1. Keystone Enclave cậy, do đó các thông tin quan trọng có thể dễ dàng bị đánh Keystone Enclave là một dự án mã nguồn mở để xây dựng cắp. Nhiều công ty và tập đoàn lớn muốn phát triển một môi một môi trường thực thi tin cậy TEE (Trusted Execution trường thực thi an toàn để chạy các ứng dụng quan trọng của Environment) dựa trên nền tảng RISC-V. Để khắc phục những họ và không quan tâm đến các mối đe dọa về bảo mật từ các 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
  2. 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 trường thực thi đáng tin cậy, an toàn và tách biệt với môi khỏi Enclave, nó thiết lập lại các quyền PMP và cô lập tiến 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ình bên trong. trường đó không cần quan tâm đến vấn đề bảo mật và đánh II.2. Root-of-Trust cắp thông tin, đồng thời nó cũng cung cấp một chứng nhận Root of Trust sẽ chứa một đoạn mã, đoạn mã này được không thể làm giả được, chứng nhận này được gửi kèm theo đưa vào thiết bị khi sản xuất, bao gồm hai phần, một phần khi ứng dụng muốn truyền đạt một thông điệp nào đó. Dựa được giữ bên trong Root of Trust và sẽ được Root of Trust bảo trên chứng nhận được cung cấp, ta có thể xác minh được vệ khỏi các cuộc tấn công gọi là Secret Key (SK), phần còn lại nguồn gốc của thiết bị, kèm theo đó là một số thông tin được được Root of Trust gửi ra bên ngoài được gọi là Public Key công khai của ứng dụng. (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 Hình 2. Các thành phần cơ bản của hệ thống Keystone. 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à Các thành phần cơ bản của Keystone Enclave được trình squeezing [5]. Trong đó absorbing là quá trình "thấm hút" dữ bày trong Hình 2 gồm có. liệu vào và squeezing là quá trình "vắt" dữ liệu. So với SHA-2, • Root of Trust: là nền tảng của tất cả các hoạt động SHA-3 hiệu quả hơn 5 lần về năng lượng, 3 lần về không gian bảo mật trên hệ thống. Nó chứa khóa được sử dụng và hiệu quả vượt trội hơn với các GPU và ASIC. Thuật toán cho các chức năng mã hóa và giải mã. Root of Trust SHA-3 được trình bày trong Hình 3. 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 Hình 3. Quy trình thuật toán SHA-3. trình Enclave khỏi các tiến trình không đáng tin cậy II.3.2. Thuật toán ED25519 khác chạy trên hệ điều hành. ED25519 là một thành viên trong họ thuật toán EdDSA • Enclave: giúp cách li giữa các tiến trình không tin cậy Edwards-curve Digital Signature Algorithm. EdDSA là thuật chạy trên hệ điều hành và giữa các Enclave với nhau. toán tạo chữ kí điện tử sử dụng đường cong elliptic, nó được Mỗi Enclave được cấp một vùng nhớ riêng trên bộ thiết kế để chạy nhanh hơn các thuật toán chữ kí điện tử khác nhớ và chỉ có thể được truy cập bởi chính nó hoặc mà vẫn giữ nguyên tính bảo mật. Các ưu điểm vượt trội mà Security Monitor. Mỗi Enclave đều tồn tại một Eapp ED25519 mang lại: (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ỗi Enclave được cấp phát một vùng nhớ vật lí liên tục mềm chỉ mất từ 273364 chu kì để xác minh trên các dòng được gọi là Enclave Private Memory (EPM). Khi nhận được CPU Nehalem/West 4.0.3 được triển khai rộng rãi của một yêu cầu khởi tạo Enclave, SM lần lượt nạp các vùng nhớ Intel. Page table (PT), Runtime (RT), và Eapp vào EPM. Thông qua • Xác minh một loạt các chữ kí điện tử còn diễn ra nhanh PMP nó tiến hành cách li vùng nhớ và bảo vệ EPM khỏi sự hơn: Phần mềm thực hiện một loạt 64 mã riêng biệt với dòm ngó của các tiến trình khác. Sau khi quá trình khởi tạo 64 chữ kí của 64 tin nhắn dưới 64 khóa chung, chỉ trong được hoàn tất, SM tiến hành tính toán và xác minh trạng thái 8.55 triệu chu kỳ, tức khoảng 134000 chu kỳ mỗi chữ kí. ban đầu của Enclave. Khi nhận được yêu cầu thực thi, SM giải • Quá trình kí cũng diễn ra nhanh: Trên cùng hệ thống, phóng PMP và giao quyền truy cập vào Enclave cho lõi RISC- phần mềm chỉ mất 87548 chu kỳ cho mỗi tin nhắn. ISBN: 978-604-80-5076-4 76
  3. 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 điều hành được nạp vào, và các phần mềm được bảo mật. gần như nhanh hơn quá trình kí, chỉ mất khoảng 6000 Trong hệ thống của Keystone, M-mode được sử dụng để chu kỳ. chạy các Secured Boot Loader và Security Monitor. • Mức độ bảo mật cao. Quá trình khởi động của một lõi RISC-V được diễn ra đầu • 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 tiên ở Machine-mode, bao gồm các quá trình sau (như được thước 32-byte và khóa bảo mật có kích thước 64-byte. trình bày trong Hình 4): II.4. Quá trình hình thành chứng nhận cho Root of Trust • Zeroth Stage Bootloader (ZSBL). Để bảo mật và an toàn, hệ thống cung cấp một chứng nhận • First Stage Bootloader (FSBL). đảm bảo và sẽ được sử dụng trong suốt quá trình hoạt động. • Berkeley Bootloader (BBL). Lệnh chỉ có thể thực hiện được một lần và sẽ bị khóa lại ngay • Hệ điều hành (Linux). 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: 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. S Sha3( H || SK D ) (2) 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. 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 toán ED25519, nhằm tạo chữ kí điện tử. Quá Hình 4. Quá trình khởi động hệ thống. trình tạo chứng nhận hoàn tất. Signature Ed 25519SIGN ( HASH || PK D ) (4) 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
  4. 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à đặt địa chỉ cần được bảo vệ. Minh họa khối PMP được trình chịu trách nhiệm cho việc nạp FSBL vào vùng nhớ. Trong bày trong Hình 6. cách thành phần chính của Keystone bao gồm Root of Trust, Mỗi PMP được sử dụng để bảo vệ một Enclave trong hệ Security Monitor (SM) và Enclave, thì Security Monitor là thống của Keystone. Mỗi PMP được sử dụng để bảo vệ một thành phần quan trọng nhất, quản lý quá trình thực thi bảo mật vùng nhớ cụ thể, các người dùng được cấp quyền cụ thể mới trên hệ thống. Do đó, để đảm bảo SM được an toàn và hoàn được truy cập và thực thi trong vùng nhớ đã được cấp phép, toàn đáng tin cậy, ta cần chứng thực nó trước khi cho phép nó nếu không sẽ bị giới hạn quyền truy cập và thực thi. Ví dụ, được khởi động. Quá trình chứng thực được diễn ra sau khi thanh ghi pmpcfg được thiết lập trạng thái rwx=111 cho phép FSBL hoàn tất quá trình thiết lập hệ thống của nó. Security truy cập vào vùng nhớ của Security Monitor, còn nếu rwx=000 Monitor và BBL sẽ được nạp lên vùng nhớ DRAM có địa chỉ thì sẽ giới hạn quyền truy cập và thực thi. Nhờ đó các tiến bắt đầu tại 0x80000000. Trong đó, vùng nhớ có địa chỉ trình chạy trên Enclave được bảo vệ và cách li với hệ thống. 0x80000000 – 0x80200000 được sử dụng để lưu trữ Security Vì vậy, Enclave cho phép các tiến trình chạy trên nó được đảm Monitor, chứng nhận sẽ được tạo thông qua Root of Trust đã bảo an toàn khỏi các cuộc tấn công hoặc đánh cắp dữ liệu từ trình bày ở trên. 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. Hình 6. Các khối PMP được sử dụng trong SM. Security Monitor (SM) là thành phần cung cấp các cơ chế Một Enclave bao gồm ba thành phần chính như được trình bảo mật được sử dụng bởi Keystone, đồng thời nó cũng thực bày trong Hình 7: hiện một số tính năng như: • Eapp: là ứng dụng U-mode được thực thi bên trong • Cách li Enclave với các vùng nhớ không tin cậy bên trong Enclave. hệ điều hành và giữa các Enclave với nhau. • RT (Runtime): là chương trình được thực thi ở S-mode, • Cung cấp chứng nhận cho các tiến trình Enclave. cung cấp các tính năng như các lệnh system call, xử lí có ngoại • Quản lý tiến trình Enclave. lệ, và quản lý vùng nhớ ảo. • Đồng bộ các PMP. • Host: là thành phần chạy trên hệ điều hành, nó cũng góp • Chống các cuộc tấn công kênh bên (Side-Channel attack). phần vào quá trình khởi tạo và quản lý Enclave. 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 Hình 7. Các thành phần của một Enclave. các phần mềm chạy trên một lõi RISC-V. PMP là một thành Quá trình khởi tạo Enclave được trình bày ở Hình 8. Sau phần của M-mode, do đó nó chỉ có thể được truy cập bởi các khi quá trình khởi tạo Enclave hoàn tất, vùng nhớ của Enclave ứng dụng chạy trên M-mode. Mỗi khối PMP có thể bảo vệ một được bảo mật trên trong PMP, ngay trước khi Enclave được vùng nhớ nhất định bên trong bộ nhớ, mỗi khối PMP sẽ bao khởi động lần đầu tiên, nó cần phải được tạo chứng nhận, gồm 2 thanh ghi trong đó pmpcfg được sử dụng để thiết lập tương tự như Security Monitor. Quá trình chứng thực Enclace trạng thái hoạt động của PMP và pmpaddr được sử dụng để được trình bày trong Hình 9, giúp có thể xác minh Enclave ISBN: 978-604-80-5076-4 78
  5. 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 đã IV. KẾT QUẢ được sửa đổi. Hệ thống thực thi bảo mật được thực hiện trên bo mạch Khi có lệnh gọi từ hệ thống yêu cầu thực thi Enclave, hệ HiFive Unleashed của hãng SiFive. Trên bo mạch này chứa lõi thống tiến hành vào Enclave, giải phóng các quyền cho PMP RISC-V Freedom U540 64-bit, đa lõi, 8GB DDR4 RAM, và cho phép lõi RISC-V có thể thực thi chương trình Eapp bên 32MB QSPI Flash và các giao tiếp IO. Hệ thống được kết nối trong Enclave. Khi quá trình khởi chạy bị dừng, nó lưu lại với bo mạch Raspberry Pi 3 chứa thuật toán SHA-3 và trạng thái đang hoạt động của Enclave vào bộ nhớ EPM và ED25519 để tạo mã trong quá trình Root of Trust. thoát khỏi Enclave. Sau khi thoát khỏi Enclave nó thiết lập lại Ứng dụng hệ thống thực thi bảo mật được giới thiệu trong các quyền như ban đầu, nhằm bảo vệ Enclave khỏi các tiến bài báo này là chữ ký điện tử. Chữ kí điện tử hiện là phương trình khác. Quá trình chứng thực Enclace được trình bày trong pháp xác minh rộng rãi nhất, trong đó, người gửi và người Hình 10. 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. 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 Hình 9. Quá trình xác thực Enclave. kết nối SSL. • 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
  6. 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 f21825043849c8314eab25545da9e4065aa4610fb8d 0614bf02440462b9a1a0b4ce3deac31504bca425a 1b444682af1c4e1ec0d9e0668183777febac7c61518 512 e20e733b188a99db44d27559453902134277944f1a 89a650163fb0b5049381008a38d31b68caff38feb51 a8857013f692a1b5556d1d2453f5fe41b17821ceafbe 1024 8b59f632d455c4c10224165ea7bf5dd66a8eee3f7c4d fb554ff57b87530ce2ed549363e5e2c6eb3acd48 6a32d088385abc8e34f8a4af8855a5632dbbb0527f4 2048 bbe15fa91006a157d2e2fe8ecf66f915e20ea6c0c8f43 da676a6756044f1ab5cee1d73a1b22657f199940 e8e6c9330660021b82c3964b74fb04ff0378bc6f3ae7 Hình 13. Quá trình truyền nhận an toàn (phía máy khách). 4096 0030d788d17eef1fc16a652b77a8750833279679b4f a61ff2d80404f129688e5362b66fae47035fdf505 Thuật toán SHA-3 được thực hiện trên một bo mạch e68b450a2ce9585e8aa61bb4bfeeb990952b2c00a6b Raspberry Pi 3 bên ngoài để tạo mã độc lập với Keystone 8192 4f9197e296d5cc8dabc802dc30629396ba45dc84568 trong quá trình Root of Trust nhằm tăng tính bảo mật của hệ 83b991db491ed0ad31beb632d395c7997751983f60 thống. Kết quả thực hiện của SHA-3 được thực hiện trên vi e1301b4fd8ae09fa1c0b48a3759c65bdc8a8f7aca884 điều khiển STM32F103 và bo mạch nhúng Rasberry Pi 3 để 16384 a5e4c8e94b53c795b8a6e093dbfe4eab5e4062e081f9 khảo sát tốc độ thực hiện và khả năng ứng dụng SHA-3 trên 56b3902c269d8490c39215c0d588310fbd0c5edc các ứng dụng truyền nhận dữ liệu hoặc Internet-of-Things. a4cbc80376cfa97f23dd73e67c99e5e4d3638d08e43 32768 22e477dd17e4ff9903e7935290a894726e713d9031f Bảng 1. Bảng thực hiện và so sánh kết quả SHA-3 trên các nền cdeebf33e97afa34a26b04bf6d2e751dbd05774b57 tảng khác nhau efe8adf89ba592ce920fc20b40c55cdfa0c47e50224d Độ dài chuỗi STM32F103 Rasbperry Pi 3 65536 4afccf53a4f19b4c3aff86d18e22be8e75c8a77caa1a9 (ký tự) (ms) (ms) e6c08009dcb86f251b7c41fd721cc8a3329aa13 256 2040 0,751 10-3 f90afcaaf6fd74de942ab297c0a723359fa7710bd617 512 2101 1,203 10-3 131072 b790ae6e46b2bfbab3dc81b51c7bb416e34437cb6a7 66429ff6dbc3987d4b654255a82a9c1e90e34760c 1024 2331 2,619 10-3 2048 3229 6,859 10-3 V. KẾT LUẬN 4096 6772 21,372 10-3 8192 32048 72,312 10-3 Nghiên cứu đã hoàn thành việc xây dựng và thực hiện hệ 16384 121764 260,693 10-3 thống thực thi bảo mật Keystone Enclave, sau đó demo thử 32768 480249 1,002 nghiệm trên bo mạch HiFive Unleashed chứa lõi RISC-V. Hệ 65536 1913410 3,918 thống được kết nối với bo mạch ngoài để thực thi quá trình 131072 7644528 15,465 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 Kết quả thực hiện ở Bảng 1 cho thấy thời gian chuyển đổi toán SHA-3 và ED25519 có tốc độ tính toán còn khá chậm, của thuật toán là khác nhau đối với các thông tin có độ dài ký làm cho quá trình khởi động hệ thống diễn ra khá lâu. Mục tự khác nhau, độ dài chuỗi đầu vào càng lớn thì thời gian xử lý tiêu tiếp theo của nghiên cứu là phát triển Root of Trust và hệ càng lâu. Đối với STM32F103, thời gian là 2040ms để xử lý thống thực thi bảo mật Keystone Enclave trên FPGA. một chuỗi ký tự có độ dài là 256 và tăng lên đến con số TÀI LIỆU THAM KHẢO 7644528ms để hoàn thành một mã hash cho một chuỗi dài [1] D. J. Bernstein, N. Duif, T. Lange, P. Schwabe and B.-Y. Yang, "High- 131072 ký tự. Raspberry Pi 3 cũng cho ra kết quả tăng độ dài speed high-security signatures," Springer Publisher, 2012. chuỗi ký tự đầu vào như trên. Với độ dài chuỗi là 256 ký tự, [2] D. Lee, K. Asanovic, D. Kohlbrenner, D. Song and S. Shinde, thời gian để xử lý thuật toán là 0,751 s; và thời gian xử lý ở "Keystone: An Open Framework for Architecting Trusted Execution trường hợp chuỗi dài 131072 ký tự là 15,465ms. Kết quả cho Environments," 2019, arXiv:1907.10119. thấy việc thực hiện thuật toán mật mã trên bo mạch Raspberry [3] A. Waterman, K. Asanovic, S. Inc, 2. Division, E. Department and B. University of California, "The RISC-V Instruction Set Manual, Volume Pi 3 cho tốc độ nhanh hơn nhiều so với vi điều khiển I: User-Level ISA," 2017. STM32F103 tuy có kích thước nhỏ gọn, giá thành rẻ. Vì vậy, [4] A. Waterman, K. Asanovic, S. Inc, 2. Division, E. Department and B. việc lựa chọn thực hiện các thuật toán mật mã hóa trên bo University of California, "The RISC-V Instruction Set Manual, Volume mạch Raspberry Pi 3 nhằm đạt được hiệu suất cao hơn. II: Privileged Architecture," 2019. Các mã hash đã được kiểm tra và đúng tính chất của hàm [5] S. O. Commerce, "SHA-3 Standard: Permutation-Based Hash and băm, độ dài mã hash đều là 128 ký tự mỗi mã, nội dung mỗi Extendable-Output Functions (FIPS PUB 202)," 2015. mã là khác nhau đã được thống kê trong Bảng 2 ở dưới. ISBN: 978-604-80-5076-4 80
nguon tai.lieu . vn