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 .
Trang 1OP – 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
Trang 21 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 3Hiể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
Trang 4Linaro 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 5Kiế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 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
Trang 5 / 9
Trang 6 Dịch vụ tài chính di động:
• 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 7- Để 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
Trang 7 / 9
Trang 8Trusted Storage API
Trang 9Khi 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