Tôi đang làm việc cho một công ty khởi nghiệp đang tạo ra một sản phẩm sẽ được triển khai hoàn chỉnh với phần cứng cần thiết.
Phần cứng là một PC mini chạy Ubuntu 20.04. Ứng dụng này bao gồm các dịch vụ python bên trong bộ chứa docker, cơ sở dữ liệu và một số mô hình học sâu - vì vậy về cơ bản, PC mini được sử dụng để thay thế máy chủ. Người dùng truy cập ứng dụng bằng cách kết nối với một điểm phát sóng. Tại một số khách hàng, phần cứng sẽ bị chặn.
Tôi không thể đi vào quá nhiều chi tiết, nhưng cấu hình có ý nghĩa trong trường hợp sử dụng đặc biệt của chúng.
Bây giờ tôi được giao nhiệm vụ bảo vệ phần cứng để không cho phép chỉnh sửa/sửa đổi ứng dụng. Tôi đã thực hiện một chút nghiên cứu (xem bên dưới) nhưng hơi không biết phải làm gì để giải quyết vấn đề này một cách thỏa đáng.
Nghiên cứu của tôi:
- Ý tưởng đầu tiên tôi tìm thấy là mã hóa phân vùng gốc bằng LUKS và sau đó lưu trữ khóa trong TPM - phần cứng hiện tại không hỗ trợ TPM (hy vọng đây là thứ có thể thay đổi khi mua phần cứng trong tương lai)
- Ý tưởng thứ hai là mã hóa phân vùng gốc và cũng cung cấp khóa phân vùng. Mặc dù bây giờ bạn cần hai phần, nhưng tôi không nghĩ rằng điều này sẽ khiến bạn khó bình tĩnh hơn.
- Một ý tưởng khác nằm ngoài khả năng của hệ điều hành là ít nhất làm xáo trộn mã ứng dụng bằng thứ gì đó như pyarmor - nhưng điều này một lần nữa có cảm giác như một thanh rất thấp để xóa.
Tôi đã thử tìm các khả năng khác - có thể các truy vấn tìm kiếm của tôi rất tệ - nhưng tôi không thể tìm ra bất kỳ cách thỏa đáng nào để giải quyết vấn đề này. Tôi hy vọng ai đó ở đây có thể chỉ cho tôi đi đúng hướng.