Tính năng Confidential Compute của Azure giúp bảo mật dữ liệu – ngay cả với Microsoft

14:40 | 05/10/2017

Mới đây, Tập đoàn Microsoft đã công bố một tính năng bảo mật mới có tên Confidential Compute - cho nền tảng điện toán đám mây Azure.

Tính năng này sẽ cho phép các ứng dụng chạy trên Azure mã hoá dữ liệu không chỉ khi chúng được lưu trong hệ thống lưu trữ hay khi đang trên đường truyền, mà cả khi đang được tính toán trong bộ nhớ. Khả năng mã hoá dữ liệu đang được sử dụng có thể đảm bảo bí mật trước những người quản trị của Microsoft, chính phủ và tin tặc.

Confidential Compute sẽ có hai chế độ: một được xây dựng trong các máy ảo và một sử dụng tính năng Software Guard Extensions (SGX) của các vi xử lý Intel. Tính năng SGX đã được công bố từ lâu, nhưng đến nay vẫn chưa chắc chắn những dòng vi xử lý nào sẽ hỗ trợ. Các dòng vi xử lý Skylake chủ đạo hiện dùng cho desktop và mobile đều hỗ trợ SGX, nhưng Skylake-X, Xeon-W và Skylake-SP thì lại không hỗ trợ. 

Cả hai chế độ của Confidential Compute đều cho phép các ứng dụng bảo vệ một số phần của mã lệnh và dữ liệu, bằng cách đưa chúng vào môi trường thực thi tin cậy (trusted execution environment - TEE). Mã lệnh và dữ liệu nằm trong TEE không thể bị xem xét từ bên ngoài.

Chế độ máy ảo dùng chức năng Virtual Secure Mode (VSM) của Hyper-V – chức năng được giới thiệu trong Windows 10 và Windows Server 2016. Với VSM, phần lớn các thành phần của một ứng dụng sẽ chạy trong một máy ảo nằm trong hệ điều hành thông thường. Các thành phần TEE – những phần của ứng dụng cần xử lý dữ liệu nhạy cảm, sẽ chạy trong một máy ảo riêng chỉ chứa phần cơ bản của hệ điều hành (đủ để có thể trao đổi với một máy ảo thông thường).

Ngay cả nếu ứng dụng bị xâm nhập và kẻ xấu có quyền truy cập máy ảo chính, dữ liệu bên trong máy ảo TEE vẫn không thể bị truy cập trái phép, vì Hyper-V tách biệt các máy ảo với nhau. Kẻ xấu sẽ phải phá vỡ Hyper-V để vượt qua sự cô lập đó.

Chế độ sử dụng tính năng SGX của bộ vi xử lý tạo ra TEE ngay trong một tiến trình thông thường, không cần tới máy ảo. Bộ vi xử lý tự mã hoá và giải mã dữ liệu trong bộ nhớ, nên dữ liệu chỉ ở dạng giải mã khi nằm trong vi xử lý. Với chế độ này, chúng ta thậm chí không cần quan tâm tới sự an toàn của Hyper-V- Ứng dụng chỉ cần tin tưởng vào bộ vi xử lý và phương thức triển khai SGX của nó. Với sự bảo vệ của SGX, không một ai – kể cả Microsoft, có thể nhìn thấy dữ liệu trong TEE.

Microsoft nói rằng họ cũng đang phát triển các TEE khác, chúng ta có thể sẽ thấy một TEE dựa trên máy ảo sử dụng tính năng mã hoá hộ nhớ của bộ vi xử lý Epyc (do AMD sản xuất).  

Các máy ảo trên Azure dựa vào tính năng Confidential Compute sẽ được cung cấp qua một chương trình truy cập sớm. Tính năng sẽ hỗ trợ các máy ảo chạy cả Windows và Linux, với SDK cho phép các lập trình viên viết những phần của ứng dụng nằm trong môi trường TEE.