Hiệu suất không phải là thuộc tính chung của hoạt động mã hóa hoặc loại môi trường thực thi. Đó là một tài sản của một triển khai cụ thể trong một môi trường cụ thể. Vì vậy, nói chung không đúng khi nói rằng — mất [các] thời gian hơn để giải mã cùng một tệp với RSA 256 bit trong TEE so với trong REEâ. Tuy nhiên, có những lý do chính đáng tại sao điều này có thể xảy ra.
(Bối cảnh: TEE (Môi trường thực thi đáng tin cậy) là một môi trường được tách biệt khỏi hệ điều hành chính (REE: Môi trường thực thi phong phú) bằng sự kết hợp của các phương tiện phần cứng và phần mềm. Điều này có thể có nghĩa là chạy trên một bộ xử lý khác hoặc trên cùng một bộ xử lý bộ xử lý trong một máy ảo khác hoặc trên cùng một bộ xử lý với một số công nghệ cách ly như SGX trên x86 hoặc TrustZone trên cánh tay. Thông thường, những người có xu hướng sử dụng thuật ngữ TEEâ và âREEâ làm việc với TrustZone hoặc SGX.)
Một TEE chạy trên bộ xử lý chính có tất cả sức mạnh tính toán của bộ xử lý, vì vậy nếu nó chạy cùng một mã, thì nó sẽ chạy nhanh như vậy. Tuy nhiên, trên thực tế, có khả năng TEE không chạy cùng mã với REE.
SGX và TrustZone bảo vệ TEE chống lại các cuộc tấn công trực tiếp, chẳng hạn như mã REE cố gắng đọc bộ nhớ được sử dụng bởi TEE. Nhưng nó không bảo vệ chống lại các cuộc tấn công kênh bên. Ví dụ: bộ đệm được chia sẻ giữa TEE và REE; REE không thể đọc một dòng bộ đệm TEE, nhưng nó có thể quan sát khi TEE thay thế một dòng bộ đệm, do đó, nó có thể tiến hành các cuộc tấn công định thời gian bộ đệm. Do đó, phần mềm chạy trong TEE phải tự bảo vệ mình trước các cuộc tấn công theo thời gian của bộ đệm.TEE đặc biệt dễ bị tấn công theo thời gian vì hệ điều hành REE có quyền truy cập vào các bộ định thời chi tiết, hơn là một quy trình REE không có đặc quyền tấn công một quy trình khác. Bảo vệ chống rò rỉ kênh bên chi phí hiệu suất.
Ngoài các biện pháp đối phó trong quá trình triển khai mật mã của TEE, hệ điều hành TEE có thể có các biện pháp đối phó chẳng hạn như loại bỏ bộ nhớ đệm thường xuyên hơn, điều này cũng cải thiện tính bảo mật khi làm giảm hiệu suất.
Cũng có thể việc triển khai mật mã TEE đơn giản là kém tối ưu hơn so với việc triển khai REE. REE có thể đang chạy OpenSSL hoặc một nhánh của OpenSSL và OpenSSL là nơi mà hầu hết nỗ lực tối ưu hóa vượt ra ngoài mã hợp ngữ được tối ưu hóa bằng tay dành riêng cho bộ xử lý và thuật toán. Ít nhân lực hơn có xu hướng đi vào tối ưu hóa mật mã trong TEE.
Nếu bạn đang đo thời gian từ ứng dụng REE, thì sẽ có chi phí để gửi hoạt động tới TEE. Tuy nhiên, chi phí đó thường không đáng kể đối với mật mã bất đối xứng, đặc biệt là giải mã RSA đòi hỏi một lượng lớn tính toán. Đối với mật mã đối xứng, nó có thể là đáng kể.
Bạn không nói bạn đang xem loại TEE nào. MỘT TEE có thể được triển khai như một con chip riêng biệt, thường là chip có hiệu suất thấp hơn vì nó có mục đích đặc biệt và do đó phải rẻ. Ví dụ: một TPM riêng biệt chậm hơn rất nhiều so với bộ xử lý ứng dụng thậm chí rẻ nhất mà nó có thể được cắm vào và thậm chí các bộ tăng tốc chuyên dụng cho mật mã bất đối xứng cũng không bù đắp hoàn toàn.
Tái bút RSA 256-bit yếu một cách lố bịch ngay cả trong những năm 1980. Ngày nay, 2048 bit (256 byte) là kích thước khóa RSA điển hình.