You are on page 1of 9

Báo cáo

Sinh viên: 14520112 – Nguyễn Phi Cường


Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

OP – TEE & OP – TEE Trusted OS


Môn học An toàn kiến trúc hệ thống
Giảng viên: Trần Tuấn Dũng
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

Trang 1 / 9
Báo cáo
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

1. Tổng quan:
Mỗi ngày chúng tôi nghe tin tức về các trang web bị tấn công, dữ liệu thông tin
nhận dạng cá nhân bị rò rỉ hoặc tài khoản ngân hàng bị đột nhập với dữ liệu tài
khoản, vv. . Hầu như mọi thứ điện tử đều dễ bị tấn công.
Diễn đàn Open Mobile Terminal Platform (OMTP) lần đầu tiên định nghĩa TEE
trong tiêu chuẩn 'Advanced Trusted Environment: OMTP TR1', xác định nó như là
một bộ phần cứng và phần mềm cung cấp các cơ sở cần thiết để hỗ trợ các ứng dụng
"mà phải đáp ứng các yêu cầu của một trong hai mức độ bảo mật. Mức độ bảo mật
đầu tiên, Hồ sơ 1, được nhắm mục tiêu chống lại các cuộc tấn công phần mềm và
trong khi Hồ sơ 2, được nhắm mục tiêu chống lại cả phần mềm và các cuộc tấn
công phần cứng.
TEE (Trusted Execution Environment) cơ bản là một môi trường thực thi biệt lập
(Isolated Execution Environment) cho ứng dụng hoặc hệ điều hành hoặc phần sụn.
Nó có thể chạy cùng với một hệ điều hành "Rich OS" giống như Android, Ubuntu.
Như tên cho thấy TEE cung cấp mức độ bảo mật cao hơn so với Rich OS. Điều này
cung cấp nhiều dịch vụ đáng tin cậy bảo mật cho các ứng dụng đang chạy trong
Rich OS để tăng cường bảo mật. TEE cung cấp mức độ bảo vệ cao chống lại các
cuộc tấn công từ hệ điều hành phong phú.
Tổ chức phi lợi nhuận GlobalPlatform làm việc để chuẩn hóa các thông số cho TEE
và Trusted Computing Group làm việc để điều chỉnh đặc tả GlobalPlatform TEE với
công nghệ Trusted Platform Module (TPM) để tăng cường bảo mật di động đã thực
hiện công việc trong những năm gần đây .
Môi trường thực thi tin cậy (TEE) trong như thế nào ?

Trang 2 / 9
Báo cáo
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

Hiểu đơn giản là môi trường thực thi mã, nơi bạn phân chia việc thực thi bộ mã
trong các không gian đáng tin cậy và không đáng tin cậy. Để đạt được điều này,
chúng ta cần hai môi trường thực thi mã riêng biệt: Rich OS (normal world) và TEE
(secure world).
Hệ điều hành phong phú (Rich OS): Một môi trường được tạo cho tính linh hoạt và
phong phú, nơi các ứng dụng thiết bị, chẳng hạn như Android, Symbian OS và
Windows Phone chẳng hạn, được thực hiện. Đây là không gian nơi người ta có thể
chạy hoặc thực hiện trò chơi, xem phim, chỉnh sửa tài liệu, vv Vì vậy, đây là không
gian rất dễ bị tấn công.
Môi trường thực thi tin cậy (TEE): TEE là khu vực an toàn của bộ xử lý chính trong
điện thoại thông minh (hoặc bất kỳ thiết bị được kết nối nào) và đảm bảo rằng dữ
liệu nhạy cảm được lưu trữ, xử lý và bảo vệ trong môi trường riêng biệt, đáng tin
cậy. Khả năng cung cấp phần mềm bảo mật được ủy quyền riêng biệt của TEE,
được gọi là 'ứng dụng đáng tin cậy', cho phép nó cung cấp bảo mật đầu cuối bằng
cách thực thi quyền bảo vệ, bảo mật, toàn vẹn và truy cập dữ liệu.
Vậy TEE được triển khai ở đâu ?
● Trên các chip hiện đại như ARM TrustZone, Intel, v.v..
● Thương mại: QSEE, TSEE, ISEE, v.v…
● Mã nguồn mở: OP-TEE, Open TEE.
2. OP TEE là gì?
OP-TEE là một một dự án triển khai mã nguồn mở của TEE
Lịch sử phát triển:

Dự án có nguồn gốc trong một giải pháp độc quyền, ban đầu được tạo ra bởi ST-
Ericsson và sau đó được sở hữu và duy trì bởi STMicroelectronics. Vào năm 2014,

Trang 3 / 9
Báo cáo
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

Linaro bắt đầu làm việc với STMicroelectronics để biến đổi giải pháp TEE độc
quyền thành giải pháp TEE nguồn mở thay thế.
OP-TEE là một môi trường thực thi tin cậy được thiết kế đồng hành với một hạt
nhân Linux không an toàn chạy trên lõi ARM Cortex-A bằng cách sử dụng công
nghệ TrustZone®
Hệ điều hành không an toàn được gọi là Môi trường thực thi phong phú (REE –
Rich Execution Environment) trong các đặc tả TEE. Nó thường là hệ điều hành
Linux như là một bản phân phối GNU / Linux hoặc AOSP.
OP-TEE được thiết kế chủ yếu dựa trên công nghệ ARM TrustZone như là cơ chế
cách ly phần cứng cơ bản. Tuy nhiên, nó đã được cấu trúc để tương thích với bất kỳ
công nghệ cách ly nào phù hợp với khái niệm và mục tiêu TEE, chẳng hạn như chạy
như một máy ảo hoặc trên một CPU chuyên dụng.
3. Kiến trúc OP TEE:
Các thành phần chính của OP TEE
 Optee_client
 Optee_linuxdriver
 Optee_os
Bao gồm normal world client API’s (optee_client) chạy trong không gian người
dùng ở thế giới thường (tee-supplicant + TEE client API), Linux kernel TEE driver
(optee_linux driver) (OP TEE driver) chịu trách nhiệm xử lý giao tiếp giữa 2 thế
giới, the Trusted OS + the secure monitor (optee_os) (OP TEE Trusted OS + secure
monitor) chạy trusted OS ở thế giới bảo mật, ngoài ra còn có bộ kiểm thử xtest.

Trang 4 / 9
Báo cáo
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

Kiến trúc của OP TEE


Từ kiến trúc này, Đầu tiên là TEE subsystem. TEE subsystem quản lý bộ nhớ chia
sẻ và chịu trách nhiệm cung cấp một API chung như IOCTL. tee-supplicant là thành
phần làm việc như là quá trình trợ giúp cho môi trường thực thi tin cậy nó quản lý
dữ liệu lưu trữ hệ thống tập tin linux. OP-TEE trình điều khiển (OP TEE driver)
chịu trách nhiệm chuyển tiếp lệnh từ client đến OP-TEE. Ngoài ra, trình điều khiển
OP-TEE quản lý các yêu cầu RPC từ OP-TEE đến tee supplicant.
Hệ điều hành tin cậy OP-TEE có hai phần là lõi OP-TEE và các thư viện OP-TEE.
Lõi OP-TEE sẽ được thực hiện trong chế độ đặc quyền CPU ARM. Thư viện OP-
TEE là các Thư viện tĩnh được các ứng dụng đáng tin cậy (TA) sử dụng.
Có 2 loại ứng dụng đáng tin cậy (TA):
 Ứng dụng động nằm trong hệ thống tệp tin thế giới thường (normal world
file system RFS) và được nạp vào không gian người dùng trong secure
world thời gian thực khi client App muốn dùng nó bởi OP TEE OS với sự
giúp đỡ của tee-supplicant. Các TA được ký và OP_TEE OS xác minh chữ
ký trước khi thực hiện. Chúng bao gồm một tập tin ELF có chữ ký rõ ràng,
được đặt tên UUID (Universally unique identifier Số nhận dạng duy nhất
trên toàn cầu) của TA và hậu tố ".ta". Ứng dụng đáng tin cậy phải tuân theo
đặc tả của GlobalPlatform TEE.
 Ứng dụng tĩnh thường được xây dựng như một phần của hạt nhân OP-TEE
và chạy ở chế độ hạt nhân. Các ứng dụng này chủ yếu là đối phó với việc
cung cấp các dịch vụ liên quan đến việc kiểm soát phần cứng khó thực hiện
trong ứng dụng động chạy trong không gian người dùng.
Nhóm phát triển sản phẩm chịu trách nhiệm phát triển ứng dụng khách (CA) chạy
trên Linux và một ứng dụng đáng tin cậy (TA) chạy trên OP-TEE. CA sử dụng TEE
client API để nói chuyện với TA và các dịch vụ an toàn tận dụng từ nó. CA và TA
sử dụng bộ nhớ dùng chung để truyền dữ liệu giữa nhau.
4. Ứng dụng:
 Bảo vệ nội dung cao cấp/ Quản lý hạn chế kỹ thuật số:
 TEE là môi trường phù hợp để bảo vệ thông tin được mã hóa kỹ thuật số
trên các thiết bị được kết nối.
 Bảo vệ nội dung quá trình mã hóa và giải mã. Ngăn không cho nội dung
giải mã tiếp xúc môi trường không được tin tưởng
 Dịch vụ tài chính di động:
Trang 5 / 9
Báo cáo
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

 Các ứng dụng thương mại di động thường yêu cầu bảo mật xác định rõ ->
TEE có thể được sử dụng để cung cấp bảo mật cần thiết
 Trong một số trường hợp, tương tác với người dùng cuối là bắt buộc và
điều này có thể yêu cầu người dùng hiển thị thông tin nhạy cảm như mã
PIN, mật khẩu hoặc số nhận dạng sinh trắc học cho hệ điều hành di động
làm phương tiện xác thực người dùng. TEE tùy chọn cung cấp một giao
diện người dùng đáng tin cậy có thể được sử dụng để xây dựng xác thực
người dùng trên thiết bị di động.
 Xác thực bằng sinh trắc học:
 Quá trình xác thực chia làm 3 giai đoạn”
- Lưu trữ nhân dạng mẫu
- Trích xuất ‘hình ảnh’, ở đây có thể là vân tay, võng mạc, giọng
nói…
- Đối chiếu với mẫu đã được lưu trữ
 Môi trường này được vận hành để bảo vệ dữ liệu ‘mẫu’ và thiết lập bộ
đệm chống lại các ứng dụng không an toàn nằm trong hđh di động
 Trong doanh nghiệp và chính phủ:
 TEE cung cấp mức độ bảo vệ chống lại các cuộc tấn công phần mềm
được tạo ra trong hđh di động và hỗ trợ việc kiểm soát quyền truy cập
 Có thể được chính phủ và doanh nghiệp sử dụng để cho phép xử lý an
toàn thông tin bí mật trên thiết bị di động.
5. OP TEE Trusted OS
Tổng quan
Kho lưu trữ optee_os git chứa mã nguồn hệ điều hành OP TEE Trusted, khi được
biên dịch nó sẽ được cài đặt và chạt với một hệ điều hành không an toàn trên lõi
ARM Cortex-A sử dụng công nghệ TrustZone®.
Thành phần này đáp ứng các đặc tả kiến trúc TEE của công nghệ GlobalPlatform để
phát triển ứng dụng đáng tin cậy.

Trang 6 / 9
Báo cáo
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

- Để quản lý sự khác biệt nhỏ giữa các nền tảng, cờ PLATFORM_FLAVOR được
chỉ định.
- Build:
+Choosing the build target
+Platform-specific configuration and flags
- Một số nền tảng được hỗ trợ
- Nền xanh: được thử nghiệm thành công với bản phát hành mới nhất hoặc là một
nền tảng mới được hỗ trợ
- Nền đỏ: thử nghiệm thành công cuối cùng cũ hơn
Cấu trúc tệp tin

/core chứa các tập tin dùng cho TEE core

/lib dùng cho cả TEE Core và các TA

/ta chỉ chứa các tập tin của các TA

/mk các tập tin makefile hỗ trợ build hệ thống

Trang 7 / 9
Báo cáo
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

/tmp-
thư mục tạm
stuff

/scripts script cho các tác vụ

/out lưu dữ liệu được tạo khi build hệ thống

/arch các file cho kiến trúc và platform

/lib chứa các thư viện sẽ bị thay thế khi build

/mm quản lý mem, currently empty

/tee các file TEE thông thường

Trusted Storage API

Trang 8 / 9
Báo cáo
Sinh viên: 14520112 – Nguyễn Phi Cường
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh

Khi TA gọi hàm ghi dữ liệu được trong GP Trusted Storage API vào một đối tượng,
một syscall tương ứng trong TEE Trusted Storage Service sẽ được gọi, lần lượt sẽ
gọi một loạt các lệnh về file của TEE để lưu trữ dữ liệu . Sau đó, hệ thống tệp TEE
sẽ mã hóa dữ liệu và gửi các lệnh hoạt động của REE file và dữ liệu được mã hóa
đến TEE supplicant (bởi một loạt các thông điệp RPC). TEE supplicant sẽ nhận
được các tin nhắn và lưu trữ dữ liệu được mã hóa cho phù hợp với hệ thống tập tin
Linux. Các tệp đọc được xử lý theo cách tương tự.

--------HẾT--------

Trang 9 / 9

You might also like