về bảo mật xác thực dựa trên mã thông báo


8

Tôi đang đọc các dịch vụ xác thực bằng mã thông báo. Tôi hiểu rằng người dùng phải nhận được mã thông báo để sử dụng dịch vụ arcgis. Ví dụ: https://domain.com/arcgis/rest/service/myMap/MapServer là dịch vụ của tôi. Quản trị viên máy chủ của tôi cung cấp cho tôi mã thông báo như thế này. Mã thông báo = AJSJK876548sjjs7

Và tôi đã sử dụng dịch vụ này trong api javascript của mình như thế này https://domain.com/arcgis/rest/service/myMap/MapServer?token=AJSJK876548sjjs7

Một người dùng có thể xem nguồn ứng dụng của tôi từ trình duyệt và có thể nhận được mã thông báo của tôi. Và anh ấy / cô ấy có thể truy cập dịch vụ của tôi. Đây có phải là một vấn đề bảo mật?

Câu trả lời:


8

Vâng, đó là một vấn đề bảo mật.

Một giải pháp phổ biến là thông qua proxy - một dịch vụ bạn viết mà khách hàng của bạn có thể gọi sẽ lần lượt gọi điểm cuối. Khách hàng của bạn gọi dịch vụ của bạn với tất cả các đối số ngoại trừ mã thông báo. Dịch vụ sao chép tất cả các đối số được truyền cho nó, thêm mã thông báo, gọi điểm cuối và trả về phản hồi cho khách hàng của bạn.


2
Điều quan trọng cần lưu ý là với cách tiếp cận này, onus sau đó là nhà phát triển để bảo mật proxy. Rốt cuộc, giờ đây người dùng có thể chỉ cần giả vờ là ứng dụng và yêu cầu proxy trả lại thông tin gián tiếp từ dịch vụ bên dưới. Vào cuối ngày, bảo mật của bạn phải tính đến việc người dùng được ủy quyền cuối cùng sẽ có quyền truy cập vào dữ liệu thô. Nếu bạn cần giới hạn dữ liệu mà người dùng được ủy quyền có thể truy cập, bạn nên thêm logic để làm như vậy trong proxy.
Philip

Điểm tốt, Phillip.
Russell tại ISC
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.