Library · Fundamentals
Vì sao file chạy không bao giờ giữ được bí mật dùng chung
Mọi thứ nằm trong file bạn phát hành đều đọc được. Một khoá API, một mật khẩu, một khoá giải mã chung cho mọi khách là một khoá cho mọi người. Thiết kế đúng chỉ để lại trong file những thứ công khai.
Điều không thay đổi được
File chạy nằm trên máy người dùng, nghĩa là người dùng có toàn quyền: đọc bộ nhớ, đặt điểm dừng, chép chuỗi ra ngoài. Làm rối mã chỉ kéo dài thời gian, không biến bí mật thành bí mật.
Những thứ hay bị nhúng nhầm
- Khoá API của dịch vụ bên thứ ba (email, thanh toán, AI)
- Mật khẩu cơ sở dữ liệu
- Khoá đối xứng dùng chung để "giải mã license"
- Khoá bí mật để ký yêu cầu thay cho từng thiết bị
Cách làm đúng
- File chỉ chứa app id và khoá công khai của app. Không gì trong đó giúp kẻ tấn công giả mạo server.
- Mỗi thiết bị tự sinh cặp khoá riêng ở lần chạy đầu và cất trong kho khoá của hệ điều hành.
- Việc cần bí mật (gọi API trả phí, tính toán giá trị) diễn ra trên server, sau khi phiên đã được xác minh.
Áp dụng với ClavisAUH
SDK chỉ cần app id và khoá công khai. Không nhúng secret nằm trong Bảo vệ Standard nên bạn không phải bật gì, và biến chỉ đến tay phiên hợp lệ.