Tôi đang làm việc trên ứng dụng web tập trung vào API với phương thức ủy quyền tùy chỉnh bao gồm xây dựng chuỗi dựa trên phương thức yêu cầu, URL, thông số, khóa API công khai và được mã hóa bằng khóa API riêng tư. Điều này hoạt động tốt ở phía máy chủ, nhưng ở phía máy khách, khóa API riêng (và phương thức ủy quyền) sẽ dễ bị tổn thương. Tôi đã dành một giờ để tìm kiếm một cách tốt nhất để bảo mật khóa API này và phương pháp tốt nhất tôi có thể tìm được là ủy quyền thông qua máy chủ của tôi, nhưng tôi vẫn không chắc chắn 100% về điều này.Bảo mật khóa API trên máy khách (JavaScript, Android, iOS, v.v.)
Trước hết, tôi có nên lo lắng không? Tôi muốn bảo mật ưu tiên trong ứng dụng web của mình, nhưng bất kỳ thứ gì sẽ xử lý việc sửa đổi tài khoản của người dùng sẽ cần một mã thông báo được mã hóa tạm thời để cho phép yêu cầu (ngoài mã băm HMAC).
Hiểu biết của tôi từ proxy là bạn sẽ yêu cầu máy chủ của bạn, sau đó mã hóa bằng khóa riêng và trả lại thông tin..nhưng máy chủ xác thực rằng yêu cầu đến từ nguồn có API hợp lệ như thế nào Chìa khóa?
Có ai có thể cung cấp bất kỳ thông tin chi tiết nào về những gì tôi nên làm không? Tôi cảm thấy như thế này có khả năng có thể là một lỗ hổng cho bất kỳ mã phía máy khách nào bao gồm JavaScript, iOS và Android.
Vui lòng [không sử dụng chữ ký hoặc dòng giới thiệu trong bài đăng của bạn] (http://stackoverflow.com/faq#signatures). – meagar
theo cách nào mà khóa riêng tư có thể bị tổn thương? bạn phải đưa chìa khóa cho khách hàng hoặc nó sẽ không hoạt động ... – dandavis
Hiện tại, khách hàng sẽ chỉ là ứng dụng chính thức của tôi (web và di động). Tuy nhiên, khóa riêng và phương thức ủy quyền sẽ hiển thị trong nguồn JavaScript để có thể thực hiện bất kỳ cuộc gọi AJAX nào trên trang web. – Sam